in shell / robomongo
db.mycol.find({_id:"jodi"},{
"progress":{
$elemMatch:{
"status":"todo"
}
}
});
和 result
这是我的发布
Meteor.publish('mycol', function() {
if(!this.userId)
return null;
coli = Coli.find({clientId:this.userId});
return coli;
});
和我的助手
Coli.find({_id:"jodi"},{
"progress":{
$elemMatch:{
"status":"todo"
}
}
}).fetch()
来自控制台日志(流星)的结果result
我只想要仅显示状态待办事项 不是全部 如果我在我的控制台(robomongo)上运行它的工作 但如果我在我的脚本上运行,所有数据都显示(不仅是状态待办事项)
和我的db
{
"_id" : "jodi",
"clientId" : "BdTw5TtipGkodGLNY",
"project" : "jodi",
"progress" : [
{
"_id" : "ewCzYjeid9G5vpqNy",
"createdAt" : "2016-02-22T12:41:56+07:00",
"status" : "todo",
"title" : "jodi",
"detail" : "jodi"
},
{
"_id" : "ewCzYjeid9G5vpqsNy",
"createdAt" : "2016-02-22T12:41:56+07:00",
"status" : "doing",
"title" : "jodi",
"detail" : "jodi"
}
]
}
我只想显示状态中的数据数组:todo 在shell中它可以工作,但在我的脚本中状态除了todo之外也出现了
答案 0 :(得分:0)
试试这个:
Coli.find({_id:"jodi"},
{"progress":{$elemMatch:{"status":"todo"}} },
{fields:{"progress.$": 1}}
).fetch();
答案 1 :(得分:0)
谢谢大家 这是我的固定代码
Coli.find({
"progress":{
$elemMatch:{
"status":"doing"
}
}
})