Node JS MongoDb查询中的点表示法

时间:2011-02-08 00:15:40

标签: mongodb node.js

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

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 :(得分:2)

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

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

可以改为

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

答案 1 :(得分:0)

很有可能,我以前做过。

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

相关问题