MongoDB从所有文档中获取所有子文档

本文关键字:文档 获取 MongoDB | 更新日期: 2023-09-27 18:34:48

我有这个样本文档

{
  "_id" : ObjectId("549452820d56c14be9473f30"),
  "company" : "google",
  "customers" : [{
      "cart" : "34323",
      "logins" : [{
          "Id" : 1,
          "Date" : ISODate("2013-02-21T12:54:52Z"),
        }, {
          "Id" : 2,
          "Date" : ISODate("2013-02-21T12:55:10Z"),
        }]
    }]
}
{
  "_id" : ObjectId("549452820d56c14be9473f31"),
  "company" : "microsoft",
  "customers" : [{
      "cart" : "14423",
      "logins" : [{
          "Id" : 6,
          "Date" : ISODate("2013-02-21T12:58:09Z"),
        }, {
          "Id" : 7,
          "Date" : ISODate("2013-02-21T12:57:50Z"),
        }, {
          "Id" : 8,
          "Date" : ISODate("2013-02-21T12:58:18Z"),
        }]
    }]
}

  1. 例如,我想知道如何以Linq和js语言(如果可能的话(从所有客户那里获取所有登录信息。这应该很简单,但我就是不明白。这里的诀窍是,我希望查询只返回我登录数据,而没有其余的文档字段......

  2. 我还想知道如何基于"cart"属性获得整个文档。

MongoDB从所有文档中获取所有子文档

下面的 Mongo 查询可能会对您有所帮助。

db.test.find({},{"customers.logins":true,_id:false})

将单独返回登录详细信息。

db.test.find({"customers.cart":"34323"})

将获得基于"购物车"属性的整个文档。