Mongodb 猫鼬/猫鼬在数组中查找
在MongoDB/Mongoose中,我有一个服务器集合,其中包含以下元素Mongodb 猫鼬/猫鼬在数组中查找,mongodb,mongoose,Mongodb,Mongoose,在MongoDB/Mongoose中,我有一个服务器集合,其中包含以下元素 owners: [{ type: String, ref: 'User' }] 所有者数组包含许多链接到用户集合的id。很简单。它可以正确地填充所有内容 在Server.find()中,我必须检索具有特定所有者的服务器列表。所以正确的查询应该是 FIND IN SERVER WHERE (OWNERS ARRAY) CONTAINS (THIS ID) 我把它翻译成猫鼬
owners: [{
type: String,
ref: 'User'
}]
所有者数组包含许多链接到用户集合的id。很简单。它可以正确地填充所有内容
在Server.find()中,我必须检索具有特定所有者的服务器列表。所以正确的查询应该是
FIND IN SERVER WHERE (OWNERS ARRAY) CONTAINS (THIS ID)
我把它翻译成猫鼬
Server.find({'owners.$': user._id}).exec(function(error, servers) {
console.log(servers);
});
我在想“owners.$”让我们搜索一个集合数组,在本例中,将其与user进行比较。\u id但我错了,“$”似乎只能用于“.update()”查询
你怎么能为一个发现做同样的事?等价物是什么?我到处找,找不到解决办法
谢谢大家;) 您使它变得比需要的更复杂,因为您可以像过滤普通属性一样直接过滤数组属性:
Server.find({owner:user.\u id}).exec(函数(错误,服务器){
console.log(服务器);
});
天哪!谢谢你,太简单了,我都没试过!:)