【问题标题】:mongoengine get value on nested field [duplicate]mongoengine在嵌套字段上获取值[重复]
【发布时间】:2018-11-14 08:15:12
【问题描述】:

我在 mongodb 中有以下列表。

> db.article.find().pretty()
{
    "_id" : ObjectId("5bebcfbb1b48d9974aac78ee"),
    "no" : 40,
    "subject" : "string",
    "content" : "string",
    "userid" : "string",
    "comments" : [
        {
            "no" : 1,
            "content" : "First content",
            "userid" : "john",
            "parent" : null,
            "seq" : 12,
            "created_at" : ISODate("2018-11-14T16:33:01.943Z")
        },
        {
            "no" : 2,
            "content" : "Second",
            "userid" : "doe",
            "parent" : null,
            "seq" : 25,
            "created_at" : ISODate("2018-11-14T16:33:01.943Z")
        },
}

现在我在我的 python 应用程序中使用mongoengine

如果我想获取 cmets's no: 2's seq 字段值(在此代码中为 25),我该如何操作我的查询?

我找到了相关的文档(http://docs.mongoengine.org/guide/querying.html)但我不知道它与我想要的完全一样。

这里有什么解决办法吗?

谢谢!

【问题讨论】:

    标签: python mongodb mongoengine


    【解决方案1】:
    db.getCollection('article').aggregate([
    {"$project":{"comments.seq":1,"comments.no":1,"_id":0}},
    {"$unwind":"$comments"},
    {"$match":{"comments.no":NumberInt(2)}},
    {"$project":{"comments.seq":1}}
    ])
    

    你可以参考一下。

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 2019-05-05
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多