2015-12-15 56 views
0

这是我的查询MongoDB的语法错误:意外的令牌}

db.courses.find({"courses"}) 

在我的课程集合。我不确定在我的语法中出现了什么问题,因为我有两个括号。

错误说

E QUERY SyntaxError: Unexpected token } 
+0

这不是一个有效的mongodb查询 – khuderm

回答

1

你需要经过一个有效的JSON对象到find()方法 {courses:'xxx'}

如果你试图让所有的,那么你只需要粘贴一个空的大括号, db.courses.find({})或保留空白。

阅读更多关于MongoDB和查找方法in the documentation

+0

我想找到一个基于我的课程json对象的课程。如果我只有课程编号12712和讲座:A,那么我如何才能在json对象(课程对象中的第一个对象)中找到该课程,并填充这些课程的许多课程?我在这里的尝试是 db.courses.find({“courses.12712”}) 但我得到一个错误。 JSON Snippet in comment – user3578288

+0

SNSON JSON对象: {“_id”:ObjectId(“566f824641b9b2eba94a9ff4”),“courses”:{“12712”:{“department”:“Civil&Environmental Engineering”,“lectures”: [{“教师”:[“Vanbriesen”],“章节”:[],“演讲”:“A”,“会议”:[{“room”:“DH 2302”,“location”:“宾夕法尼亚州匹兹堡“,”结束“:”04:20 PM“,”天“:”MW“,”开始“:”03:00 PM“}]}],”名称“:”可持续工程概论“,”单位“:12 ,“prereqs”:“”,“semester”:[“F”],“coreqs”:“”,“desc”:“本课程以概述开头....”}} – user3578288

+0

作为一个说法,传递一个有效的json文档,{“courses.12712”}不是一个有效的json文档,我猜你正在试图获得具有属性“12712”的课程,你可以这样做'db.courses.find({“courses .12712“:{$ exists:true}})' – stalin