#mongodb
#mongodb
Вопрос:
Я впервые пытаюсь использовать MongoDB, но я застрял на следующей синтаксической ошибке: unexpected token illegal.
Я проверил это, и все выглядит нормально. Я обнаружил аналогичную проблему в StackOverflow, но это связано с другой ошибкой. Что я делаю не так? Вот мой скрипт:
db.student.save({"_id":ObjectId(5983548781331adf45ec7),"name":"replaced","age":55})
Ответ №1:
Проблема здесь : ObjectId(5983548781331adf45ec7)
ObjectId принимает строку из 24 шестнадцатеричных цифр.
ObjectId("<24 hex digits here>")
Например. ObjectId("0123456789abcdef01234567")
Ответ №2:
Если вы используете внутренний исходный код, такой как groovy (с Grails GORM), вы можете попробовать следующий скрипт, который очень чистый и читаемый:
def studentFromDB = db.student.findById("5983548781331adf45ec7")
studentFromDB.name = "replaced"
studentFromDB.age = 55
studentFromDB.save(flush: true, failOnError: true)
Если вы используете его непосредственно в mongo, вам следует использовать обновление MongoDB, например:
db.student.update(
{"_id":ObjectId(5983548781331adf45ec7) },
{
name: "replaced",
age: 55
},
{ upsert: true }
)
Ответ №3:
Я исправил это … ошибка в том, что я пропустил кавычки внутри ‘ObjectId’ исправленный скрипт `db.student.save({«_id»: ObjectId(«57fcf46763ecce707f071884″),»имя»:»rep_dsave»,»возраст»: 37}).
Спасибо 4J41 и rotemy
`
Комментарии:
1. Привет, MSGK: если ответ 4J41 решил проблему для вас, то правильнее всего проголосовать и принять ответ 4J41, а не публиковать его как отдельный ответ самостоятельно.