【发布时间】:2016-03-01 08:34:57
【问题描述】:
在我的收藏中,我有两个字段,gender 和 country。
在gender 字段中,他们都是“女性”,并且每个人都在不同的country。
我尝试查询集合:
return Meteor.users.find(
{
_id: {$ne: Meteor.userId()},
$or: [ { "country": "Australia" }, { "gender": "" } ]
}).fetch();
结果如下:
当将gender 设置为“null”或为空时,它会给我所有在澳大利亚的用户。
但是当我将gender 设置为“女性”并将country 设置为“澳大利亚”时,它会为我提供来自不同国家的所有女性用户,而这应该只是来自澳大利亚的female。它似乎忽略了第一个参数,即country。
有没有办法让它更准确?请帮忙谢谢。
我的目标是:
使数据库查询更准确,并能适应变化。
例子:
回到上面的问题,当我在搜索查询中添加“性别”时,它应该只寻找国家为澳大利亚的女性用户。并非所有女性都来自不同的国家。
【问题讨论】:
-
您能否通过编辑它以包含一些示例文档和预期的输出来澄清您的问题,因为目前很难理解?如果所有文档的
gender字段为“女性”,但country值不同,那为什么不能只查询country字段?
标签: mongodb