Mongodb 来自CLI的嵌套Mongo查询

Mongodb 来自CLI的嵌套Mongo查询,mongodb,Mongodb,对于以下数据(取自),我如何在Mongo Shell中查询addresses.street,以获取addresses.home等于“home”的任何文档(在我的情况下,这里只有1个) 所需结果:{“street”:“1 E.23th street”} 您必须在投影模式下使用$elemMatch: { _id: ObjectId("4c4b1476238d3b4dd5000001") username: "kbanker", addresses: [ { name: "home", st

对于以下数据(取自),我如何在Mongo Shell中查询
addresses.street
,以获取
addresses.home
等于“home”的任何文档(在我的情况下,这里只有1个)

所需结果:
{“street”:“1 E.23th street”}


您必须在投影模式下使用$elemMatch:

{ _id: ObjectId("4c4b1476238d3b4dd5000001")
username: "kbanker",
addresses: [
{ 
  name: "home",
  street: "588 5th Street",
  city: "Brooklyn",
  state: "NY",
  zip: 11215},
{ 
  name: "work",
  street: "1 E. 23rd Street",
  city: "New York",
  state "NY",
  zip 10010},
]}
db.collection.find({},{addresses: {$elemMatch:{'name':'home'}}, 'addresses.street':1, _id:0})
{ "addresses" : [ { "street" : "588 5th Street" } ] }