sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB insertOne()

V MongoDB db.collection.insertOne() metoda vloží jeden dokument do kolekce.

collection část je název kolekce, do které se má dokument vložit.

Příklad

Zde je příklad vložení dokumentu do kolekce s názvem pets :

db.pets.insertOne( { 
    name: "Scratch", 
    type: "Cat" 
    } )

Výsledek:

{
	"acknowledged" : true,
	"insertedId" : ObjectId("5fe2d15637b49e0faf1af214")
}

db.collection.insertOne() metoda vrací dokument obsahující:

  • Logická hodnota acknowledged jako true pokud operace proběhla s obavami o zápis nebo false pokud bylo zakázáno psaní.
  • Pole insertedId s _id hodnotu vloženého dokumentu.

Nyní, když použijeme db.collection.find() abychom se podívali do sbírky, uvidíme nově přidaný dokument.

db.pets.find().pretty()

Výsledek:

{
	"_id" : ObjectId("5fe2d15637b49e0faf1af214"),
	"name" : "Scratch",
	"type" : "Cat"
}

Také jsem použil pretty() naformátujte dokument tak, aby byl snazší číst.

V tomto případě je náš dokument jediný ve sbírce, a tak byl vrácen pouze jeden dokument.

Pokud by však byla sbírka velká, mohli bychom použít ID (uvedené v návratovém dokumentu při vkládání) k zúžení výsledku pouze na tento dokument.

db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()

Výsledek:

{
	"_id" : ObjectId("5fe2d15637b49e0faf1af214"),
	"name" : "Scratch",
	"type" : "Cat"
}

Co když sbírka neexistuje?

Pokud kolekce neexistuje, je vytvořena a dokument je do ní přidán.

Pokud kolekce již existuje, dokument se do ní jednoduše přidá.

Když jsem vytvořil tento příklad, kolekce neexistovala, a tak ji vytvořila operace vložení.

_id pole

_id pole je pole jedinečného identifikátoru v MongoDB.

Můžete zadat své vlastní _id pole v dokumentu. Pokud tak učiníte, jeho hodnota musí být v rámci kolekce jedinečná. Důvodem je vaše _id pole bude použito jako jedinečný identifikátor dokumentu.

Zde je příklad vložení dokumentu s vlastním _id pole.

db.pets.insertOne( { 
    _id: 1,
    name: "Fetch", 
    type: "Dog" 
    } )

Výsledek:

{ "acknowledged" : true, "insertedId" : 1 }

Nyní se znovu podíváme na sbírku.

db.pets.find()

Výsledek:

{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
{ "_id" : 1, "name" : "Fetch", "type" : "Dog" }

Další informace

db.collection.insertOne() metoda také přijímá writeConcern argument, který popisuje úroveň potvrzení požadovaného od MongoDB pro operace zápisu.

Viz dokumentaci MongoDB pro db.collection.insertOne() pro více informací.


  1. Kdy Redis? Kdy MongoDB?

  2. Vložte Pandas Dataframe do mongodb pomocí PyMongo

  3. Jak zrušit platnost částí hierarchie (stromu) dat v mezipaměti Redis

  4. Seřadit vnořené pole objektů