在Meteor的子文档中使用$ ne Mongo运算符仍然返回完整的集合

时间:2013-09-17 13:00:31

标签: mongodb meteor

我创建了一个这样的测试数据库:

Test.insert({_id: "XJAGgP3whnNd2HZec"}) ;
Test.insert({_id: "user1"} );
Test.insert({_id: "user8"} );
Test.insert({_id: "user5"}) ;

Test.update({_id: "XJAGgP3whnNd2HZec"}, {
$push: { users:{name8: "test5"}} });
Test.update({_id: "user5"}, {
$push: { users:{name8: "test5"}} });
Test.update({_id: "user8"}, {
$push: { users:{name9: "test5"}} });
Test.update({_id: "user1"}, {
$push: { users:{name9: "test4"}} }) ;

从meteor mongo我可以搜索结果。例如:

> db.test.find({'users.name9': "test4"}).count()
1
> db.test.find({'users.name9': {$ne: "test4"}}).count()
3
>

如果我在Meteor中放入相同的查询。例如:

console.log(Test.find({'users.name9': { $ne: "test4" } }) ),

Meteor返回包含所有条目的集合对象。

我错过了一些明显的东西吗?

2 个答案:

答案 0 :(得分:0)

我意识到我原来问题中的逻辑并不完全正确。

我提出了一张现已修好的票:

此票证更清晰:https://github.com/meteor/meteor/issues/1451

答案 1 :(得分:-1)

我也试过了,它对我来说很好。我不知道你的问题是什么,但我会尝试meteor reset(刷新你的数据库删除所有内容并重新开始),如果这不起作用,我会尝试创建一个新项目。如果您不想再次编写代码文件,可以将代码文件复制到新项目中。