【问题标题】:Mongodb, NodeJs and Mongoose: Get inner object where inner Object value='search value'Mongodb、NodeJs 和 Mongoose:获取内部对象,其中内部对象值 ='搜索值'
【发布时间】:2012-02-06 08:44:17
【问题描述】:

先举例:

{ "_id" : ObjectId("4f086809bf28fd7bb56e6059"), "admins" : [ "4ef8e785b2694c3649000001" ], "pages" : [
    {
        "pagename" : "home",
        "title" : "homepage",
        "default" : true
    },
    {
        "pagename" : "people",
        "title" : "Staff",
        "default" : false
    }
], "sitename" : "Site", "sitenameLower" : "site" }

这就是我要查询的文档,现在我想要返回 'page' where pagename = 'home'。

我尝试了各种查询,但它总是返回整个文档,而不是 pages 数组中的单个对象 - 这对我来说用处不大。

包括:

db.sites.find({'pages.pagename' : 'home'});

我明白了,为什么这是错误的,但要正确,让我感到困惑。

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    this question。看起来是planned feature,但你现在不能这样做。

    【讨论】:

    • 谢谢,好的,我将它重构为另一个页面集合。我实际上一直在考虑如何做子网站和页面,所以无论如何我可能需要重构它……这样我就有了网站项目的集合,即页面、子网站、其他列表。
    猜你喜欢
    • 2019-11-07
    • 2019-11-10
    • 2015-06-29
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多