MongoDB从数组中的键入对象返回值

MongoDB从数组中的键入对象返回值,mongodb,mongoose,Mongodb,Mongoose,我想从包含以下对象的数组对象中匹配address的值: email: { verified: [ { token: "gCCt1IUKXPfB4Lj3q_t2vDfiUhis87Ki7mVuR3YLDRD", address: "email@test.com", when: ISODate("2017-01-06T11:40:22.293Z") } ] } 这不起作用: Meteor.users.findOne({email: {$e

我想从包含以下对象的数组对象中匹配address的值:

email: {
  verified: [
    {
      token: "gCCt1IUKXPfB4Lj3q_t2vDfiUhis87Ki7mVuR3YLDRD",
      address: "email@test.com",
      when: ISODate("2017-01-06T11:40:22.293Z")
    }
  ]
}
这不起作用:

Meteor.users.findOne({email: {$elemMatch: {address: email}}})

当有一个数组要遍历时,如何执行此操作?

您在查询中错过了数组
已验证的
,而不是
$elemMatch
,您可以直接引用对象,如下所示:

Meteor.users.findOne({"email.verified.address": email});