我试图创建一个用户&使用mongoDB和sailsJS的多对多关系中的宠物模型,数据库创建和加载数据都很好我在mongoDB中检查了dbs和它存在的集合。当我试图获取用户列表和宠物列表时它显示我的内容,但当我尝试通过其iD在用户下通过他的iD获取单个宠物时我没有得到结果
显示“响应不包含任何数据。”
我试着像这样得到PET “http://localhost:1337/user/54ffd28e9d9ee93c166c7500/pets/54ffd28e9d9ee93c166c7503”
我也尝试用名字显示宠物而不是iD它也不起作用
我的风帆版本是0.11.0 .. 我的操作系统是Win7 64位
答案 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)
})
}
})
让我知道是否有帮助,最良好的祝愿