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

时间:2014-12-19 19:29:52

标签: javascript c# linq mongodb

我有这个样本文件

{
  "_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. 我也想知道如何根据“购物车”属性获取整个文档。

1 个答案:

答案 0 :(得分:2)

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

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

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

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

将根据" cart"获取整个文档。属性。