gpt4 book ai didi

javascript - 风 sails js mongodb 填充

转载 作者:可可西里 更新时间:2023-11-01 09:14:02 29 4
gpt4 key购买 nike

我想将 .populate() 与 Sails js 和 MongoDB 一起使用,所以我做了这样的事情:

我正在使用最新版本的 Sails、MongoDB 和 Node。

我的模型看起来像:

// User.js
module.exports = {
attributes: {
name: {
type: 'string'
},
pets: {
collection: 'pet',
via: 'owner'
}
}
};


// Pet.js
module.exports = {
attributes: {
name: {
type: 'string'
},

owner: {
model: 'user'
}
}
};

我使用了以下与文档相同的内容:

User.find()
.populate('pets')
.exec(function(err, users) {
if(err) return res.serverError(err);
res.json(users);
});

但我得到以下输出:

[
{
"pets": [],
"id": "58889ce5959841098d186b5a",
"firstName": "Foo",
"lastName": "Bar"
}
]

最佳答案

如果您只需要查询狗。您可以同样轻松地反转查询。

Pet.find() //or what you want with {}
.populate('users')
.exec(err, petsWithUsers)

但如果不是:

User.find()
.populate('pets')
.exec(err, users) ...

这将返回所有用户 (User.find()) 并且只填充狗类型的宠物 (populate('pets', {type: 'dog'})).如果您的结果中有没有狗的用户。

更多信息和引用:here

关于javascript - 风 sails js mongodb 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41852485/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com