Javascript 使用嵌套文档查找查询时抛出语法错误
我试图使用下面的查询获取其Javascript 使用嵌套文档查找查询时抛出语法错误,javascript,mongodb,mongodb-query,Javascript,Mongodb,Mongodb Query,我试图使用下面的查询获取其place\u id等于4的所有文档,但我遇到了以下错误: SyntaxError: missing : after property id @(shell):1:23. 我打错什么了吗?我使用的查询是: db.sidebar.find({ result.place_id: 4 }); 这是一个示例文档: { "_id":ObjectId("5aebb473e8e191cb74ef8877"), "result":{ "pla
place\u id
等于4
的所有文档,但我遇到了以下错误:
SyntaxError: missing : after property id @(shell):1:23.
我打错什么了吗?我使用的查询是:
db.sidebar.find({ result.place_id: 4 });
这是一个示例文档:
{
"_id":ObjectId("5aebb473e8e191cb74ef8877"),
"result":{
"place_id":4,
"formatted_address":"589 Doyle Divide",
"geometry":{
"location":{
"lat":"-18.8806",
"lng":"177.1928"
}
},
"international_phone_number":"(571) 978-2039 x11427",
"name":"Walker Inc",
"opening_hours":{
"weekday_text":[
"Monday: 01:00 PM – 03:30 PM",
"Tuesday: 01:00 PM – 03:30 PM",
"Wednesday: 01:00 PM – 03:30 PM",
"Thursday: 01:00 PM – 03:30 PM",
"Friday: 01:00 PM – 03:30 PM",
"Saturday: 01:00 PM – 03:30 PM",
"Sunday: 01:00 PM – 03:30 PM"
]
},
"url":"https://maps.google.com/?cid=4",
"website":"http://www.Stracke - Wintheiser.com/"
}
}
您需要使用来访问嵌入文档的字段。这意味着您需要在这些字段周围添加引号:
db.sidebar.find({ "result.place_id": 4 });
您可能认为这也应该起作用:
db.sidebar.find({ result: { place_id: 4 });
但是,当前者要求MongoDB查找具有值为4
的place\u id
字段的文档时,在字段result
内(可能还包含其他字段),后者将查找子文档的精确匹配,即,它将只匹配其结果
字段为的文档,而不匹配任何其他字段