Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Mongodb mongo查询-语法错误:意外标记:_Mongodb - Fatal编程技术网

Mongodb mongo查询-语法错误:意外标记:

Mongodb mongo查询-语法错误:意外标记:,mongodb,Mongodb,我收藏了一份文件 "_id" : ObjectId("5755b94abcfc6666d6f5fe56"), "NAME" : John Smith, "PHONE" : "800-555-1000", "DOC" : { " TYPE" : "M", " DATE" : "01/28/2016", " AMOUNT" : 281593 }, "ADDRESS" : 123 Sesame Street 我试图通过传入键和值来查找此记录: db.acris.find("D

我收藏了一份文件

"_id" : ObjectId("5755b94abcfc6666d6f5fe56"),
"NAME" : John Smith,
"PHONE" : "800-555-1000",
"DOC" : {
    " TYPE" : "M",
    " DATE" : "01/28/2016",
    " AMOUNT" : 281593
},
"ADDRESS" : 123 Sesame Street
我试图通过传入键和值来查找此记录:

db.acris.find("DOC" : {" TYPE" : "MTGE"," DATE" : "01/28/2003"," AMOUNT" : 281593})
但是,我得到以下错误:

SyntaxError: Unexpected token :

如何修复此查询以使代码正常工作?

您在整个查找过程中缺少{}

db.collection.find({“DOC”:…})

更新: 只是为了完整。您还可以搜索整个元素。你不一定需要点符号

> db.test.insertOne({"NAME" : "John Smith",
... "PHONE" : "800-555-1000",
... "DOC" : {
...     " TYPE" : "M",
...     " DATE" : "01/28/2016",
...     " AMOUNT" : 281593
... },
... "ADDRESS" : "123 Sesame Street"})

> db.test.find({"DOC" : { " TYPE" : "M", " DATE" : "01/28/2016", " AMOUNT" : 281593 }})
{ "_id" : ObjectId("5759a933cdcc5a8d09a1aeb9"), "NAME" : "John Smith", "PHONE" : "800-555-1000", "DOC" : { " TYPE" : "M", " DATE" : "01/28/2016", " AMOUNT" : 281593 }, "ADDRESS" : "123 Sesame Street" }

你错过了{}整个发现,就像

db.collection.find({“DOC”:…})

更新: 只是为了完整。您还可以搜索整个元素。你不一定需要点符号

> db.test.insertOne({"NAME" : "John Smith",
... "PHONE" : "800-555-1000",
... "DOC" : {
...     " TYPE" : "M",
...     " DATE" : "01/28/2016",
...     " AMOUNT" : 281593
... },
... "ADDRESS" : "123 Sesame Street"})

> db.test.find({"DOC" : { " TYPE" : "M", " DATE" : "01/28/2016", " AMOUNT" : 281593 }})
{ "_id" : ObjectId("5759a933cdcc5a8d09a1aeb9"), "NAME" : "John Smith", "PHONE" : "800-555-1000", "DOC" : { " TYPE" : "M", " DATE" : "01/28/2016", " AMOUNT" : 281593 }, "ADDRESS" : "123 Sesame Street" }

语法错误已修复,如答案所示。但是,我认为您需要的问题是:

db.acris.find({"DOC.TYPE" : "M", "DOC.DATE" : "01/28/2003"," DOC.AMOUNT" : 281593})

请注意用于对子字段进行匹配的点符号。

语法错误已修复,如答案所示。但是,我认为您需要的问题是:

db.acris.find({"DOC.TYPE" : "M", "DOC.DATE" : "01/28/2003"," DOC.AMOUNT" : 281593})
请注意用于对子字段进行匹配的点符号