db.movieDetails.find(
{ year: 2013, imdb.rating: Pg-13, award.wins: 0 },
{ title: 1, _id: 0 }
).pretty();
mongo shell返回此错误
2016-08-13T09:08:00.648 + 0200 E QUERY [thread1] SyntaxError:missing :在属性id @(shell)之后:1:60
为什么呢? 提前谢谢!
答案 0 :(得分:18)
如果您的查询包含内部文档,请使用引号。另外,使用引号查询字符串值
db.movieDetails.find(
{ year: 2013, "imdb.rating": "Pg-13", "award.wins": 0 },
{ title: 1, _id: 0 }
).pretty();
答案 1 :(得分:2)
如果缺少“:”,也会出现此错误。:
就我而言,我错过了$ set 之后的“:” ,如下所示。
db.myData.updateOne({_ id:ObjectId(“ new_id”)},{$ set {name:“ new_name”}})
我遇到了标题中提到的相同错误,并且更改后的代码有效
db.myData.updateOne({_ id:ObjectId(“ new_id”)},{$ set:{name:“ new_name”}})
希望这对犯过我错误的人有所帮助。