首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过id获取的多对多关系不起作用

通过id获取的多对多关系不起作用
EN

Stack Overflow用户
提问于 2015-03-11 14:56:20
回答 1查看 79关注 0票数 0

我尝试使用mongoDB和sailsJS在多对多关系中创建用户和宠物模型,数据库的创建和加载数据都很好。我在mongoDB中检查了数据库和存在的集合。当我尝试获取用户列表和宠物列表时,它会显示内容,但是当我尝试通过user by his iD下面的iD获取单个宠物时,我得不到结果

它显示“响应不包含任何数据”。

我试着把宠物弄成这样"http://localhost:1337/user/54ffd28e9d9ee93c166c7500/pets/54ffd28e9d9ee93c166c7503

我也试着用它的名字来显示宠物,而不是iD它也不能工作

我的sails版本是0.11.0..我的操作系统是Win7 64位

EN

回答 1

Stack Overflow用户

发布于 2020-06-18 02:51:31

这里有一件可能有用的事情要知道,当在使用mongoDB的时候通过id请求。

要获取集合中的一些文档,通过URL传递id,使用const { ObjectId } = require('mongodb')是很有用的。

例如,您可以执行以下操作:

代码语言:javascript
运行
复制
// VS code might or might not write this for you
// but if you VIM, you have to write yourself

const { ObjectId } = require('mongodb')

fastify.get('/something/:id', async function (req, reply) {
    const db = await this.mongo.db;
    await db.collection('YourCollection', callbackFunc);

    function callbackFunc(err, col) {
      if (err) reply.send(err)

      col.findOne({ "_id": new ObjectId(req.params.id) }, (err, result) => 
      {
        console.log(result)
      })
    }
  })

如果有帮助,请告诉我,祝你好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28980333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档