MongoDB执行insert语句报SyntaxError: missing ) after argument list,求排查缺失项
问题分析与解决方案
这个语法错误的核心原因是你传给db.restaurants.insert()方法的参数格式不合法,具体来说是缺失了包裹整个文档的外层大括号{}。
为什么会报错?
MongoDB的insert()方法要求传入的是一个合法的BSON文档(对应JavaScript中的对象格式),而你直接把键值对"address": [...]写在了方法的括号里,没有用大括号包裹来定义这个文档。JavaScript解析器无法识别这种写法,因此抛出SyntaxError: missing ) after argument list的异常——本质是参数格式错误导致解析失败,解析器误以为参数列表提前结束,所以提示缺少右括号。
修正后的正确语句
db.restaurants.insert({ "address": [ { "building": "1007", "coord": [ -73.856077, 40.848447 ], "street": "Morris Park Ave", "zipcode": "10462" } ] })
简单来说,就是给insert()的参数加上最外层的{},让MongoDB能识别这是一个包含address字段的文档对象。
内容的提问来源于stack exchange,提问作者Aquarius_Girl
相关产品推荐
相关产品推荐

