MongoDB notes (4)-create, update, delete documents

Insert document:

insert () or save ()

> db.demo.save({name:"myName",age:18,hobby:["music","movie"]})
WriteResult({ "nInserted" : 1 })
> 

Inquire:

find()

> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName", "age" : 18, "hobby" : [ "music", "movie" ] }
> 

Insert after defining as variable

> info2=({name:"yourName",age:20,hobby:["drawing","run"]})
{ "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> db.demo.insert(info2)
WriteResult({ "nInserted" : 1 })
> 

Update:

update ()
syntax format

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
  • Parameter Description:
    • query : The query condition of update is similar to where in sql update query.
    • update : update object and some update operators (such as , , inc ...), etc., can also be understood as the sql update query after the set
    • upsert : Optional, this parameter means that if there is no update record, whether to insert objNew, true is inserted, the default is false, not inserted.
    • multi : Optional, mongodb default is false, only update the first record found, if this parameter is true, it will update all records according to the condition.
    • writeConcern : Optional, the level at which an exception is thrown.
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName", "age" : 18, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.update({'name':"myName"},{$set:{'name':"myName1"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName1", "age" : 18, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 

Modify multiple identical documents:
multi: true

> db.demo.update({'name':"myName"},{$set:{'name':"myName1"}},{multi:true})

Replace existing document
save ()
syntax format by incoming document

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)
  • Parameter Description:
    • document : document data.
    • writeConcern : Optional, the level at which an exception is thrown.
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName1", "age" : 18, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.save({ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ] })
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> 
> db.demo.find().pretty()
{
	"_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"),
	"name" : "myName2",
	"age" : 20,
	"hobby" : [
		"music",
		"movie"
	]
}
{
	"_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"),
	"name" : "yourName",
	"age" : 20,
	"hobby" : [
		"drawing",
		"run"
	]
}
> 

More examples:

Only the first record is updated under the same conditions:
db.demo.update ({“key”: “val”}, {$ set: {“key1”: “val1”}});
db.demo.update ({“key ”:“ Val ”}, {$ set: {“ key1 ”:“ val1 ”}}, false, false);

Update all with the same conditions:
db.demo.update ({“key”: “val”}, {$ set: {“key1”: “val1”}}, false, true);

There is no new creation:

> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.update({"name":"hisName"},{$set:{"name":"hisName1"}},true,false)
WriteResult({
	"nMatched" : 0,
	"nUpserted" : 1,
	"nModified" : 0,
	"_id" : ObjectId("5e796a0b7b047d1d86dd360d")
})
> 
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796a0b7b047d1d86dd360d"), "name" : "hisName1" }
> 

Condition update (age> 10):

> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796a0b7b047d1d86dd360d"), "name" : "hisName1", "age" : "30" }
>
>  db.demo.update({"age":{$gt:10}},{$set:{"job":"IT"}},true,true)
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ], "job" : "IT" }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
{ "_id" : ObjectId("5e796a0b7b047d1d86dd360d"), "name" : "hisName1", "age" : "30" }
> 

delete

Grammatical format

db.collection.remove(
   <query>,
   <justOne>
)

2.6+
db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
  • Parameter Description:

    • query : (optional) conditions for deleted documents.
    • justOne : (optional) If set to true or 1, only one document will be deleted. If this parameter is not set or the default value is false, all documents matching the condition will be deleted.
    • writeConcern : (optional) The level at which an exception is thrown.
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ], "job" : "IT" }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
{ "_id" : ObjectId("5e796a0b7b047d1d86dd360d"), "name" : "hisName1", "age" : "30" }
>
>  db.demo.remove({"name":"hisName1"})
WriteResult({ "nRemoved" : 1 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ], "job" : "IT" }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
> 

Delete the first record under the same conditions (tested to delete the first record regardless of the number, to be verified ...):

> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ], "job" : "IT" }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "hisName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
{ "_id" : ObjectId("5e796e5aa3edd4aa4ff0c2bf"), "name" : "herName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796f30a3edd4aa4ff0c2c0"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.remove({"age":{$gt:10}},3)
WriteResult({ "nRemoved" : 1 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "hisName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
{ "_id" : ObjectId("5e796e5aa3edd4aa4ff0c2bf"), "name" : "herName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796f30a3edd4aa4ff0c2c0"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.remove({"age":{$gt:10}},2)
WriteResult({ "nRemoved" : 1 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e796e5aa3edd4aa4ff0c2bf"), "name" : "herName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796f30a3edd4aa4ff0c2c0"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 

Official upgrade and deletion method:
delete a single item: deleteOne ({“key”: “val”}),
delete multiple items: deleteMany ({“key”, “val”}),
delete all: deleteMany ({});

> db.demo.deleteOne({"age":{$gt:10}})
{ "acknowledged" : true, "deletedCount" : 1 }
> 
> db.demo.find()
{ "_id" : ObjectId("5e796f30a3edd4aa4ff0c2c0"), "name" : "myName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e7972c7a3edd4aa4ff0c2c1"), "name" : "hisName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e7972c9a3edd4aa4ff0c2c2"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.deleteMany({})
{ "acknowledged" : true, "deletedCount" : 3 }
> 
> db.demo.find()
> 

Published 90 original articles · Liked12 · Visits 170,000+

Guess you like

Origin blog.csdn.net/u012382791/article/details/105425488