documento MongoDB é atualizado
MongoDB usando o métodosave () update ()e atualizar a coleção de documentos. Vamos dar uma olhada detalhada no pedido e que a diferença entre as duas funções.
método update ()
update () método é usado para atualizar um documento existente. Sintaxe é como se segue:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
Parâmetro Descrição:
- query: critérios de consulta de atualização, semelhante à consulta de actualização sql onde a traseira interna.
- objetos de atualização e alguns dos operadores mais recentes (como o $, $ inc ...), etc., também pode ser entendida como um conjunto de volta dentro da consulta SQL UPDATE: update
- upsert: opcional, ou seja, este argumento é que, se não houver atualização de registro, é inserido objNew, verdadeiro para inserir, o padrão é falso, não inserido.
- multi: Opcional, padrão MongoDB é falso, apenas para encontrar o primeiro registro para atualizar, se este argumento é verdadeiro, de acordo com as condições de colocar para fora muitos registros verificar todas as atualizações.
- writeConcern: exceção de nível opcional é lançada.
Exemplos
Nós inserir o seguinte col coleta de dados:
>db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '本教程', url: 'http://www.w3big.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
Então nós temos que atualizar o título pelo método update () (título):
>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 } >
Você pode ver o título (título) do original Update "MongoDB Tutorial" para "MongoDB."
A declaração acima irá modificar o documento encontrado na primeira, se você quiser editar o mesmo documento e muito mais, você precisa definir múltiplos parâmetro para true.
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
salvar método ()
salvar () método, passando os documentos para substituir o documento existente. Sintaxe é como se segue:
db.collection.save( <document>, { writeConcern: <document> } )
Parâmetro Descrição:
- documento: os dados do documento.
- writeConcern: exceção de nível opcional é lançada.
Exemplos
O exemplo a seguir que substituiu o _id como dados 56064f89ade2f21f36b03136 documento:
>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
Após a substituição for bem sucedida, nós podemos () comando para visualizar os dados após a substituição por find
>db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 } >
mais exemplos
Apenas atualizar o primeiro registro:
Atualizar todos:
Adicionar apenas o primeiro:
Adicionar todos acrescentou:
Atualizar todos:
Apenas atualizar o primeiro registro: