MongoDB документ обновляется
MongoDB с помощьюобновления () и метод сохранения ()для обновления коллекции документов. Давайте подробно рассмотрим приложения, а разница между этими двумя функциями.
Обновление () метод
Метод обновления () используется для обновления существующего документа. Синтаксис выглядит следующим образом:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
Параметр Описание:
- запрос: обновление критерии запроса, похожие на SQL запроса на обновление , где внутренняя задней.
- объекты обновления и некоторые из новых операторов (например, $, $ вкл ...) и т.д., также могут быть поняты как установить обратно в запросе обновления SQL: обновление
- upsert: необязательно, что означает этот аргумент в том , что , если нет обновления записи, вставляется objNew, верно для вставки, по умолчанию является ложным, не вставлена.
- несколько: Необязательно, MongoDB по умолчанию является ложным, только чтобы найти первую запись , чтобы обновить, если этот аргумент верно, в соответствии с условиями потушить много записей проверки всех обновлений.
- writeConcern: исключение необязательный уровень выбрасывается.
примеров
Мы вводим следующую сбора данных Col:
>db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '本教程', url: 'http://www.w3big.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
Тогда мы должны обновить название методом обновления () (название):
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) # 输出信息 > db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >
Вы можете увидеть название (название) из оригинального Update "MongoDB Учебное пособие" в "MongoDB."
Данное заявление будет изменять документ, найденный в первом, если вы хотите редактировать один и тот же документ, и многое другое, вам необходимо установить мультипараметрические истина.
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
сохранить () метод
сохранить () метод, передавая документы, чтобы заменить существующий документ. Синтаксис выглядит следующим образом:
db.collection.save( <document>, { writeConcern: <document> } )
Параметр Описание:
- Документ: данные документа.
- writeConcern: исключение необязательный уровень выбрасывается.
примеров
В следующем примере мы заменили _id как данные 56064f89ade2f21f36b03136 документа:
>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
После того, как замена прошла успешно, мы можем () команду, чтобы просмотреть данные после замены находки
>db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 } >
Другие примеры
Только обновить первую запись:
Обновить все:
Добавьте только первый:
Добавить все добавлено:
Обновить все:
Только обновить первую запись: