Mongo如何获取具有值或对象值的特定数组字段

时间:2013-12-26 10:41:27

标签: mongodb meteor

所以我有这些mongo字段

    "username" : "aaaaaa",
    "emails" : [
               {
                   "address" : "a@yahoo.comm",
                   "verified" : false
               }
               ],
    "profile" : {
                   "firstname" : "a",
                   "lastname" : "a"
                }

我能做到

db.users.find({username:'aaaaaa'});

我的问题是,如果我想使用电子邮件地址或个人资料的名字怎么样?

看起来像这样

db.users.find({email:{firstname:'a@yahoo.com'}});

但它不起作用。我无法使用

email['address']:'a@yahoo.com'

甚至

profile:{firstname:'a'} // profile.firstname:'a';

我怎样才能获得他们的价值?

1 个答案:

答案 0 :(得分:3)

如果您想使用电子邮件地址进行查询,

db.users.find({'emails.address':'a@yahoo.com'});

如果您想使用个人资料的名字来查询,

db.users.find({'profile.firstname':'a'});