MongoDB - Belge ekle
Bu bölümde, MongoDB koleksiyonuna nasıl belge ekleyeceğimizi öğreneceğiz.
İnsert () Yöntemi
MongoDB koleksiyonuna veri eklemek için, MongoDB'leri kullanmanız gerekir. insert() veya save() yöntem.
Sözdizimi
Temel sözdizimi insert() komut aşağıdaki gibidir -
>db.COLLECTION_NAME.insert(document)
Misal
> db.users.insert({
... _id : ObjectId("507f191e810c19729de860ea"),
... title: "MongoDB Overview",
... description: "MongoDB is no sql database",
... by: "tutorials point",
... url: "http://www.tutorialspoint.com",
... tags: ['mongodb', 'database', 'NoSQL'],
... likes: 100
... })
WriteResult({ "nInserted" : 1 })
>
Buraya mycolönceki bölümde oluşturulan koleksiyonumuzun adıdır. Koleksiyon veritabanında yoksa, MongoDB bu koleksiyonu oluşturacak ve ardından içine bir belge ekleyecektir.
Eklenen belgede, _id parametresini belirtmezsek, MongoDB bu belge için benzersiz bir ObjectId atar.
_id, bir koleksiyondaki her belge için benzersiz olan 12 bayt onaltılık sayıdır. 12 bayt aşağıdaki gibi bölünmüştür -
_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)
Ayrıca aşağıdaki gösterildiği gibi insert () yöntemine bir dizi belge de iletebilirsiniz :.
> db.createCollection("post")
> db.post.insert([
{
title: "MongoDB Overview",
description: "MongoDB is no SQL database",
by: "tutorials point",
url: "http://www.tutorialspoint.com",
tags: ["mongodb", "database", "NoSQL"],
likes: 100
},
{
title: "NoSQL Database",
description: "NoSQL database doesn't have tables",
by: "tutorials point",
url: "http://www.tutorialspoint.com",
tags: ["mongodb", "database", "NoSQL"],
likes: 20,
comments: [
{
user:"user1",
message: "My first comment",
dateCreated: new Date(2013,11,10,2,35),
like: 0
}
]
}
])
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 2,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
>
Kullanabileceğiniz belgeyi eklemek için db.post.save(document)Ayrıca. Eğer belirtmezsen_id o zaman belgede save() yöntem aynı şekilde çalışacak insert()yöntem. _İd belirtirseniz, save () yönteminde belirtildiği gibi _id içeren belgenin tüm verilerini değiştirir.
İnsertOne () yöntemi
Bir koleksiyona yalnızca bir belge eklemeniz gerekiyorsa, bu yöntemi kullanabilirsiniz.
Sözdizimi
İnsert () komutunun temel sözdizimi aşağıdaki gibidir -
>db.COLLECTION_NAME.insertOne(document)
Misal
Aşağıdaki örnek, empDetails adında yeni bir koleksiyon oluşturur ve insertOne () yöntemini kullanarak bir belge ekler.
> db.createCollection("empDetails")
{ "ok" : 1 }
> db.empDetails.insertOne(
{
First_Name: "Radhika",
Last_Name: "Sharma",
Date_Of_Birth: "1995-09-26",
e_mail: "[email protected]",
phone: "9848022338"
})
{
"acknowledged" : true,
"insertedId" : ObjectId("5dd62b4070fb13eec3963bea")
}
>
İnsertMany () yöntemi
İnsertMany () yöntemini kullanarak birden çok belge ekleyebilirsiniz. Bu yönteme bir dizi belge aktarmanız gerekir.
Misal
Aşağıdaki örnek, insertMany () yöntemini kullanarak empDetails koleksiyonuna üç farklı belge ekler.
> db.empDetails.insertMany(
[
{
First_Name: "Radhika",
Last_Name: "Sharma",
Date_Of_Birth: "1995-09-26",
e_mail: "[email protected]",
phone: "9000012345"
},
{
First_Name: "Rachel",
Last_Name: "Christopher",
Date_Of_Birth: "1990-02-16",
e_mail: "[email protected]",
phone: "9000054321"
},
{
First_Name: "Fathima",
Last_Name: "Sheik",
Date_Of_Birth: "1990-02-16",
e_mail: "[email protected]",
phone: "9000054321"
}
]
)
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5dd631f270fb13eec3963bed"),
ObjectId("5dd631f270fb13eec3963bee"),
ObjectId("5dd631f270fb13eec3963bef")
]
}
>