Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么可以';mongodb驱动程序不能处理$elemMatch或任何嵌入式查询吗?_Node.js_Mongodb - Fatal编程技术网

Node.js 为什么可以';mongodb驱动程序不能处理$elemMatch或任何嵌入式查询吗?

Node.js 为什么可以';mongodb驱动程序不能处理$elemMatch或任何嵌入式查询吗?,node.js,mongodb,Node.js,Mongodb,我对node.js使用3.5 每当我想搜索这样的嵌入字段时: SomeCollection.findOne({someObject: {embeddedField: thisString}}) 或者类似地使用$elemMatch: SomeCollection.findOne({someArrayOfObjects: {$elemMatch: {someField: thisString}}}) 它根本不起作用。在前一个示例中,我必须使用点符号,而在后一个示例中,没有任何东西(据我所知)对我

我对node.js使用3.5

每当我想搜索这样的嵌入字段时:

SomeCollection.findOne({someObject: {embeddedField: thisString}})
或者类似地使用$elemMatch:

SomeCollection.findOne({someArrayOfObjects: {$elemMatch: {someField: thisString}}})
它根本不起作用。在前一个示例中,我必须使用点符号,而在后一个示例中,没有任何东西(据我所知)对我有帮助


这种行为的意义是什么?为什么这些基本功能不起作用呢?

它完全按照预期工作,您只需要学习查询语言

第一个查询精确地搜索“someObject”为
{embeddedField:thisString}
的文档,即子文档中没有其他字段

若要搜索“someObject”具有特定值的字段“embeddedField”的文档,无论子文档中的其他字段如何,都要使用点表示法。区分这两个查询是一个简单而优雅的解决方案。我承认这不是直观的,确实需要一些阅读


这同样适用于$elemMatch。

它完全按照预期工作,您只需要学习查询语言

第一个查询精确地搜索“someObject”为
{embeddedField:thisString}
的文档,即子文档中没有其他字段

若要搜索“someObject”具有特定值的字段“embeddedField”的文档,无论子文档中的其他字段如何,都要使用点表示法。区分这两个查询是一个简单而优雅的解决方案。我承认这不是直观的,确实需要一些阅读

这同样适用于$elemMatch