Làm cách nào để chèn id trong MongoDB?

Để chèn một bản ghi hoặc tài liệu như được gọi trong MongoDB, vào một bộ sưu tập, chúng tôi sử dụng phương thức insert_one()

Tham số đầu tiên của phương thức insert_one() là một từ điển chứa (các) tên và (các) giá trị của từng trường trong tài liệu bạn muốn chèn

Ví dụ

Chèn một bản ghi vào bộ sưu tập "khách hàng"

pymongo nhập khẩu

myclient = pymongo. MongoClient("mongodb. //máy chủ cục bộ. 27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mydict = {"tên". "John", "địa chỉ". "Quốc lộ 37" }

x = mycol. chèn_one (mydict)

Chạy ví dụ »


Trả lại trường _id

Phương thức insert_one() trả về một đối tượng InsertOneResult, có thuộc tính, inserted_id, chứa id của tài liệu được chèn

Ví dụ

Chèn một bản ghi khác vào bộ sưu tập "khách hàng" và trả về giá trị của trường _id

mydict = {"tên". "Peter", "địa chỉ". "Lowstreet 27" }

x = mycol. chèn_one (mydict)

in(x. đã chèn_id)

Chạy ví dụ »

Nếu bạn không chỉ định trường _id thì MongoDB sẽ thêm một trường cho bạn và gán một id duy nhất cho mỗi tài liệu

Trong ví dụ trên, không có trường _id nào được chỉ định, vì vậy MongoDB đã gán một _id duy nhất cho bản ghi (tài liệu)



Chèn nhiều tài liệu

Để chèn nhiều tài liệu vào một bộ sưu tập trong MongoDB, chúng tôi sử dụng phương thức

> 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" : [ ]
})
>
2

Tham số đầu tiên của phương thức

> 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" : [ ]
})
>
2 là danh sách chứa từ điển với dữ liệu bạn muốn chèn

Ví dụ

pymongo nhập khẩu

myclient = pymongo. MongoClient("mongodb. //máy chủ cục bộ. 27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "name". "Amy", "địa chỉ". "Apple st 652"},
  { "name". "Hannah", "địa chỉ". "Núi 21"},
  { "name". "Michael", "địa chỉ". "Thung lũng 345"},
  { "name". "Cát", "địa chỉ". "Ocean blvd 2"},
  { "name". "Betty", "địa chỉ". "Green Grass 1"},
  { "name". "Richard", "địa chỉ". "Sky st 331"},
  { "name". "Susan", "địa chỉ". "Một chiều 98"},
  { "name". "Vicky", "địa chỉ". "Khu vườn vàng 2"},
  { "name". "Bến", "địa chỉ". "Công viên ngõ 38"},
  { "name". "William", "địa chỉ". "Central st 954"},
  { "name". "Chuck", "địa chỉ". "Main Road 989"},
  { "name". "Viola", "địa chỉ". "Sideway 1633"}
]

x = mycol. insert_many(danh sách của tôi)

#print danh sách các giá trị _id của tài liệu đã chèn.
in(x. đã chèn_ids)

Chạy ví dụ »

Phương thức

> 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" : [ ]
})
>
2 trả về một đối tượng InsertManyResult, có thuộc tính, insert_one()0, chứa id của tài liệu được chèn


Chèn nhiều tài liệu, với ID được chỉ định

Nếu bạn không muốn MongoDB gán id duy nhất cho tài liệu của mình, bạn có thể chỉ định trường _id khi bạn chèn (các) tài liệu

Ở đây mycol là tên bộ sưu tập của chúng tôi, như được tạo trong chương trước. Nếu bộ sưu tập không tồn tại trong cơ sở dữ liệu, thì MongoDB sẽ tạo bộ sưu tập này và sau đó chèn một tài liệu vào đó

Trong tài liệu được chèn vào, nếu chúng ta không chỉ định tham số _id thì MongoDB sẽ gán một ObjectId duy nhất cho tài liệu này

_id là số thập lục phân 12 byte duy nhất cho mọi tài liệu trong bộ sưu tập. 12 byte được chia như sau -

_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)

Bạn cũng có thể truyền một mảng tài liệu vào phương thức insert() như bên dưới

> 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" : [ ]
})
>

Để chèn tài liệu, bạn có thể sử dụng db. bưu kiện. lưu (tài liệu) cũng. Nếu bạn không chỉ định _id trong tài liệu thì phương thức save() sẽ hoạt động giống như phương thức insert(). Nếu bạn chỉ định _id thì nó sẽ thay thế toàn bộ dữ liệu của tài liệu chứa _id như được chỉ định trong phương thức save()

Phương thức insertOne()

Nếu bạn chỉ cần chèn một tài liệu vào bộ sưu tập, bạn có thể sử dụng phương pháp này

cú pháp

Cú pháp cơ bản của lệnh insert() như sau -

>db.COLLECTION_NAME.insertOne(document)

Ví dụ

Ví dụ sau tạo một bộ sưu tập mới có tên empDetails và chèn một tài liệu bằng phương thức insertOne()

> 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")
}
>

Phương thức insertMany()

Bạn có thể chèn nhiều tài liệu bằng phương thức insertMany(). Đối với phương thức này, bạn cần truyền một mảng tài liệu

Ví dụ

Ví dụ sau chèn ba tài liệu khác nhau vào bộ sưu tập empDetails bằng phương thức insertMany()

Làm cách nào để chèn dữ liệu có id trong MongoDB?

Nếu tài liệu không chỉ định trường _id, thì MongoDB sẽ thêm trường _id và gán một ObjectId() duy nhất cho tài liệu trước khi chèn. Most drivers create an ObjectId and insert the _id field, but the mongod will create and populate the _id if the driver or application does not.

Làm cách nào để sử dụng id trong MongoDB?

Mọi tài liệu trong bộ sưu tập đều có trường “_id” được sử dụng để xác định duy nhất tài liệu trong một bộ sưu tập cụ thể, trường này đóng vai trò là khóa chính cho các tài liệu trong bộ sưu tập . Trường “_id” có thể được sử dụng ở bất kỳ định dạng nào và định dạng mặc định là ObjectId của tài liệu.

Làm cách nào để tạo id trong MongoDB?

Để tạo ID đối tượng mới theo cách thủ công trong MongoDB, bạn có thể khai báo ObjectId dưới dạng phương thức . Trong hình ảnh bên dưới, bạn có thể quan sát thấy rằng chúng ta đang khai báo một biến có phương thức ObjectId làm giá trị. Nó sẽ trả về một hệ thập lục phân duy nhất mà chúng ta có thể lưu trữ trong một biến có tên myObjectId.

Làm cách nào để đặt ID đối tượng trong MongoDB?

Làm cách nào để cập nhật _id của Tài liệu MongoDB? .
Bước 1. Ở bước đầu tiên, bạn cần lưu trữ ObjectId vào một biến. anyVariableName=db. .
Bước 2. Trong bước thứ hai, bạn cần đặt id mới. .
Bước 3. Ở bước thứ ba, bạn cần chèn id mới vào tài liệu. .
Bước 4. Ở bước thứ tư, bạn cần xóa id cũ