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

问题描述 投票:0回答:1

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

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

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

我还试图通过宠物的名字来显示宠物,而不是iD,这同样不能正常工作

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

node.js sails.js sails-mongo
1个回答
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)
      })
    }
  })

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

© www.soinside.com 2019 - 2024. All rights reserved.