MongoDB嵌套文档Find查询抛出SyntaxError错误求助
解决MongoDB查询嵌套字段的语法错误问题
嘿,这个报错我太熟了!你遇到的SyntaxError: missing : after property id是因为MongoDB Shell基于JavaScript运行,它把你写的result.place_id当成了要访问变量result的place_id属性,而不是把它作为一个完整的嵌套字段名来处理。
你的查询语句问题出在字段名的写法上,正确的做法是把带点的嵌套字段名用引号括起来,这样Shell才会把它识别成一个完整的键:
db.sidebar.find({ "result.place_id": 4 });
这里要提醒你一下,别想着用嵌套对象的写法(比如{ result: { place_id: 4 } }),这种写法在MongoDB里是精确匹配整个result对象的——也就是说只有当result里只存在place_id:4这一个字段时才会匹配,但你的示例文档里result还有formatted_address、geometry这些额外字段,用这种写法根本查不到你要的文档。
所以老老实实用带引号的点符号写法就对啦!
内容的提问来源于stack exchange,提问作者tausabao
相关产品推荐
相关产品推荐

