W MongoDB db.collection.insertOne()
metoda wstawia pojedynczy dokument do kolekcji.
collection
część to nazwa kolekcji, do której ma zostać wstawiony dokument.
Przykład
Oto przykład wstawiania dokumentu do kolekcji o nazwie pets
:
db.pets.insertOne( {
name: "Scratch",
type: "Cat"
} )
Wynik:
{ "acknowledged" : true, "insertedId" : ObjectId("5fe2d15637b49e0faf1af214") }
db.collection.insertOne()
metoda zwraca dokument zawierający:
- Boole'owskie
acknowledged
jakotrue
jeśli operacja została wykonana z problemem zapisu lubfalse
jeśli problem zapisu był wyłączony. - Pole
insertedId
z_id
wartość wstawionego dokumentu.
Teraz, jeśli użyjemy db.collection.find()
aby spojrzeć na kolekcję, zobaczymy nowo dodany dokument.
db.pets.find().pretty()
Wynik:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Użyłem również pretty()
sformatować dokument, aby był łatwiejszy do czytania.
W tym przypadku nasz dokument jest jedynym w kolekcji, więc tylko jeden dokument został zwrócony.
Jeśli jednak kolekcja była duża, moglibyśmy użyć identyfikatora (podanego w dokumencie zwrotnym podczas wstawiania), aby zawęzić wynik tylko do tego dokumentu.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
Wynik:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Co jeśli kolekcja nie istnieje?
Jeśli kolekcja nie istnieje, jest tworzona, a dokument jest do niej dodawany.
Jeśli kolekcja już istnieje, dokument jest do niej po prostu dodawany.
Kiedy stworzyłem ten przykład, kolekcja nie istniała, więc została utworzona operacja wstawiania.
_id
Pole
_id
pole jest unikalnym polem identyfikatora w MongoDB.
Możesz podać swój własny _id
pole w dokumencie. Jeśli to zrobisz, jego wartość musi być unikalna w kolekcji. Dzieje się tak, ponieważ Twój _id
pole będzie używane jako unikalny identyfikator dokumentu.
Oto przykład wstawiania dokumentu z własnym _id
pole.
db.pets.insertOne( {
_id: 1,
name: "Fetch",
type: "Dog"
} )
Wynik:
{ "acknowledged" : true, "insertedId" : 1 }
Teraz spójrzmy ponownie na kolekcję.
db.pets.find()
Wynik:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" } { "_id" : 1, "name" : "Fetch", "type" : "Dog" }
Więcej informacji
db.collection.insertOne()
metoda akceptuje również writeConcern
argument, który opisuje poziom potwierdzenia żądanego od MongoDB dla operacji zapisu.
Zobacz dokumentację MongoDB dla db.collection.insertOne()
aby uzyskać więcej informacji.