MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB insertOne ()

Trong MongoDB, db.collection.insertOne() phương thức chèn một tài liệu duy nhất vào một bộ sưu tập.

Bộ sưu tập collection một phần là tên của bộ sưu tập để chèn tài liệu vào.

Ví dụ

Dưới đây là ví dụ về việc chèn tài liệu vào bộ sưu tập có tên là pets :

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

Kết quả:

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

db.collection.insertOne() phương thức trả về một tài liệu chứa:

  • Một boolean acknowledged dưới dạng true nếu hoạt động chạy với mối quan tâm về ghi hoặc false nếu mối quan tâm viết đã bị vô hiệu hóa.
  • Một trường insertedId với _id giá trị của tài liệu đã chèn.

Bây giờ nếu chúng ta sử dụng db.collection.find() để nhìn vào bộ sưu tập, chúng ta sẽ thấy tài liệu mới được thêm vào.

db.pets.find().pretty()

Kết quả:

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

Tôi cũng đã sử dụng pretty() để định dạng tài liệu sao cho dễ đọc hơn.

Trong trường hợp này, tài liệu của chúng tôi là tài liệu duy nhất trong bộ sưu tập và do đó, chỉ có một tài liệu được trả lại.

Tuy nhiên, nếu bộ sưu tập lớn, chúng tôi có thể sử dụng ID (được cung cấp trong tài liệu trả về khi chúng tôi thực hiện chèn) để thu hẹp kết quả chỉ thành tài liệu này.

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

Kết quả:

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

Điều gì sẽ xảy ra nếu Bộ sưu tập không tồn tại?

Nếu bộ sưu tập không tồn tại, bộ sưu tập sẽ được tạo và tài liệu được thêm vào bộ sưu tập đó.

Nếu bộ sưu tập đã tồn tại, thì tài liệu chỉ cần được thêm vào nó.

Khi tôi tạo ví dụ này, bộ sưu tập không tồn tại và do đó, thao tác chèn đã tạo ra nó.

_id Trường

_id trường là trường định danh duy nhất trong MongoDB.

Bạn có thể cung cấp _id của riêng mình trường trong tài liệu. Nếu bạn làm vậy, thì giá trị của nó phải là duy nhất trong bộ sưu tập. Điều này là do _id của bạn trường sẽ được sử dụng làm mã định danh duy nhất của tài liệu.

Dưới đây là một ví dụ về cách chèn một tài liệu với _id của riêng nó trường.

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

Kết quả:

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

Bây giờ chúng ta hãy nhìn lại bộ sưu tập.

db.pets.find()

Kết quả:

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

Thông tin thêm

db.collection.insertOne() phương thức cũng chấp nhận một writeConcern đối số, mô tả mức xác nhận được yêu cầu từ MongoDB cho các hoạt động ghi.

Xem tài liệu MongoDB cho db.collection.insertOne() để biết thêm thông tin.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Node findone làm thế nào để xử lý không có kết quả?

  2. mongodb cách nhận giá trị tối đa từ các bộ sưu tập

  3. Thông báo lỗi:MongoError:Xác thực bad auth không thành công thông qua chuỗi URI

  4. mongorestore Không thành công:không có máy chủ nào có thể truy cập được

  5. Mongodb concat int và chuỗi