【发布时间】:2014-05-04 00:18:29
【问题描述】:
在 MongoDB/Mongoose 中,我有一个包含此元素的服务器集合 ...
owners: [{
type: String,
ref: 'User'
}]
所有者数组包含许多链接到用户集合的 id。很简单。它会正确填充所有内容。
在 Server.find() 中,我必须检索获得特定所有者的服务器列表。所以正确的查询应该是这样的
FIND IN SERVER WHERE (OWNERS ARRAY) CONTAINS (THIS ID)
我在 Mongoose 中将其翻译为 ...
Server.find({'owners.$': user._id}).exec(function(error, servers) {
console.log(servers);
});
我在想“owners.$”让我们搜索一个集合数组,在这种情况下将它与 user._id 进行比较,但我错了,似乎“.$”只能在“.update”中使用()" 查询。
如何对 find 做同样的事情?什么是等价物?我到处找,找不到解决办法……
谢谢大家 ;)
【问题讨论】: