多对多关系Get by id无效

时间:2015-03-11 06:56:20

标签: node.js sails.js sails-mongo

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

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

我试着像这样得到PET “http://localhost:1337/user/54ffd28e9d9ee93c166c7500/pets/54ffd28e9d9ee93c166c7503

我也尝试用名字显示宠物而不是iD它也不起作用

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

1 个答案:

答案 0 :(得分:0)

在使用mongoDB时按ID请求时,可能有个有用的信息。

要在集合中获取某些文档,并通过URL传递ID,使用const { ObjectId } = require('mongodb')很有用。

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

// 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)
      })
    }
  })

让我知道是否有帮助,最良好的祝愿