首页 文章

Node JS MongoDb查询中的点表示法

提问于
浏览
1

处理嵌套文档时是否可以使用Dot Notation?

[http://www.mongodb.org/display/DOCS/Dot+Notation+(Reaching+into+Objects](http://www.mongodb.org/display/DOCS/Dot+Notation+(Reaching+into+Objects))

我正在尝试查询map / reduce的结果,因此需要运行如下查询:

find({'_id.page' : 'ThisPage', '_id.user' : 'AUser'})

在Node代码中尝试此操作不返回任何行,但同样的查询在mongodb shell中按预期工作 .

2 回答

  • 0

    到达查询文档内部不需要点表示法,您可以使用文档表示法 .

    find({'_id.page' : 'ThisPage', '_id.user' : 'AUser'})

    可能反过来

    find({_id: {page: 'ThisPage', user: 'AUser'}})

  • 2

    这很有可能,我以前做过 .

    为什么在_id属性下有嵌套文档?不知道你的用例是什么,但这似乎有点奇怪 . _id是一个特殊属性,始终是文档的唯一ID . 因此,驱动程序可能会对此进行特殊处理(即不会期望存在子文档) . 也许尝试将您的子文档放在不同的属性名称下 .

相关问题