我第一次尝试使用MongoDB但是我遇到了以下语法错误:unexpected token illegal.
我检查了它,看起来没问题。我在StackOverflow上发现了类似的问题,但这是一个不同的错误。我究竟做错了什么?
这是我的剧本:
db.student.save({"_id":ObjectId(5983548781331adf45ec7),"name":"replaced","age":55})
答案 0 :(得分:1)
问题在于:ObjectId(5983548781331adf45ec7)
ObjectId接受24个十六进制数字的字符串。
ObjectId("<24 hex digits here>")
E.g。 ObjectId("0123456789abcdef01234567")
答案 1 :(得分:0)
如果您使用的是后端源代码,例如groovy(使用Grails GORM),您可以尝试以下非常干净且可读的脚本:
def studentFromDB = db.student.findById("5983548781331adf45ec7")
studentFromDB.name = "replaced"
studentFromDB.age = 55
studentFromDB.save(flush: true, failOnError: true)
如果您直接在mongo上使用它,则应使用MongoDB update,例如:
db.student.update(
{"_id":ObjectId(5983548781331adf45ec7) },
{
name: "replaced",
age: 55
},
{ upsert: true }
)
答案 2 :(得分:0)
我修好了......错误是我错过了&#39; ObjectId&#39; 更正的脚本是`db.student.save({&#34; _id&#34;:ObjectId(&#34; 57fcf46763ecce707f071884&#34;),&#34; name&#34;:&#34; rep_dsave&#34; &#34;年龄&#34;:37})
感谢4J41和rotemy
`