MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB insertOne()

В MongoDB db.collection.insertOne() метод вмъква един документ в колекция.

collection част е името на колекцията, в която да вмъкнете документа.

Пример

Ето пример за вмъкване на документ в колекция, наречена pets :

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

Резултат:

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

db.collection.insertOne() метод връща документ, съдържащ:

  • Булева acknowledged като true ако операцията се изпълняваше със загриженост за запис или false ако загрижеността за запис е деактивирана.
  • Поле insertedId с _id стойност на вмъкнатия документ.

Сега, ако използваме db.collection.find() за да разгледаме колекцията, ще видим новодобавения документ.

db.pets.find().pretty()

Резултат:

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

Използвах също pretty() за да форматирате документа, така че да е по-лесен за четене.

В този случай нашият документ е единственият в колекцията и така е върнат само един документ.

Въпреки това, ако колекцията беше голяма, бихме могли да използваме идентификатора (предоставен в документа за връщане, когато сме направили вмъкването), за да стесним резултата само до този документ.

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

Резултат:

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

Ами ако колекцията не съществува?

Ако колекцията не съществува, тя се създава и документът се добавя към нея.

Ако колекцията вече съществува, документът просто се добавя към нея.

Когато създадох този пример, колекцията не съществуваше и така операцията за вмъкване я създаде.

_id Поле

_id полето е уникално поле за идентификатор в MongoDB.

Можете да предоставите свой собствен _id поле в документа. Ако го направите, тогава стойността му трябва да е уникална в колекцията. Това е така, защото вашият _id полето ще се използва като уникален идентификатор на документа.

Ето пример за вмъкване на документ със собствен _id поле.

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

Резултат:

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

Сега да разгледаме колекцията отново.

db.pets.find()

Резултат:

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

Повече информация

db.collection.insertOne() методът също така приема writeConcern аргумент, който описва нивото на потвърждение, поискано от MongoDB за операции по запис.

Вижте документацията на MongoDB за db.collection.insertOne() за повече информация.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. защо не мога да стартирам mongodb

  2. MongoDB - изключване с код:62

  3. $unset е празен. Трябва да посочите поле така:{$unset:{<field>:...}}

  4. Импортиране на тип данни за дата с помощта на mongoimport

  5. pymongo - модулът dnspython трябва да бъде инсталиран, за да се използват URI mongodb+srv://