这个Meteor mongo命令尝试使用emails[0].address == abc@xyz
获取文档,但它失败了,有什么想法吗? THX
db.users.findOne({'emails[0].address':'abc@xyz.com'}).pretty()
"emails" : [
{
"address" : "abc@xyz.com",
答案 0 :(得分:1)
要使其正常运行,请将emails[0].address
更改为emails.0.address
。
请参阅有关如何在这种情况下使用dot notation的文档。
答案 1 :(得分:0)
仅当您要查找的字符串是数组的第一个元素时才会起作用。要搜索整个数组,您需要$ elemMatch。 e.g。
db.users.findOne({emails: {
$elemMatch: {address: 'abc@xyz.com'}
}})