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
acknowledgedjakotruejeśli operacja została wykonana z problemem zapisu lubfalsejeśli problem zapisu był wyłączony. - Pole
insertedIdz_idwartość 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.