我搜索所有状态为#34;请求"但我想排除状态为#34; notInterested"。
的所有文件以下是代码:
getRelationships(){
return Relationships.find({
'whoId': Meteor.userId(),
'status' : 'request',
'status' : {$ne : 'notInterested'}
});
}
现在不工作,但我没有错误。
答案 0 :(得分:1)
在我的下面的样本集中,有三个文档用于" whoId"等于123.其中两个文件的状态为"请求"一个人没有感兴趣"。该查询具有包括特定状态(即请求)和排除状态(即不感兴趣)的条件。
$和运算符可用于实现此目的。如果我正确理解您的问题,此解决方案应该可以解决您的问题。
我的人际关系收集数据:
/* 1 */
{
"_id" : ObjectId("579e0d1d681b1cf15a897776"),
"whoId" : "123",
"status" : "request"
}
/* 2 */
{
"_id" : ObjectId("579e0d2f681b1cf15a897777"),
"whoId" : "2321111",
"status" : "notInterested"
}
/* 3 */
{
"_id" : ObjectId("579e0d5d681b1cf15a897778"),
"whoId" : "123",
"status" : "request"
}
/* 4 */
{
"_id" : ObjectId("579e0d65681b1cf15a897779"),
"whoId" : "123",
"status" : "notInterested"
}
查询: -
db.Relationships.find({whoId : '123', $and : [{status : 'request'}, {status : {$ne : 'notInterested'}}]})
<强>结果: - 强> 请注意,状态“不感兴趣”#39;尚未被选中。
/* 1 */
{
"_id" : ObjectId("579e0d1d681b1cf15a897776"),
"whoId" : "123",
"status" : "request"
}
/* 2 */
{
"_id" : ObjectId("579e0d5d681b1cf15a897778"),
"whoId" : "123",
"status" : "request"
}