节点JS MongoDb查询中的点符号

处理嵌套文档时是否可以使用点符号?

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

我试图查询一个地图/减less的结果,因此需要像这样运行一个查询:

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

在Node代码中试用这个方法将不会返回任何行,但是相同的查询在mongodb shell中按预期工作。

点符号不需要用于查询文档内部,您可以使用文档符号。

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

可以改为

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

这很可能,我以前做过。

为什么你的_id属性下有嵌套的文档? 不知道你的用例是什么,但似乎有点奇怪。 _id是一个特殊的属性,始终是文档的唯一ID。 所以司机可能会特别对待它(即不要指望有子文件)。 也许试着把你的子文档放在不同的属性名下。