Hướng dẫn insert trong mongodb

Tiếp tục với series, sau khi chúng ta đã tương tác được với collection (create delete) rồi, thì tiếp tục bài này mình sẽ hướng dẫn mọi người thêm mới các dữ liệu vào trong MongoDB.

1,  Thêm mới dữ liệu vào trong MongoDB.

-MongoDB đã cung cấp cho chúng ta 3 phương thức để thực hiện việc thêm mới dữ liệu vào trong collection. Bao gồm các phương thức sau:

  • insert
  • insertOne
  • inserMany

Insert

-Phương thức insert trong MongoDB dùng để thêm mới một hoặc nhiều dữ liệu vào trong MongoDB.

Cú pháp

db.conlectionName.insert(data)

Trong đó:

  • collectionName là tên của collection chúng ta cần thêm dữ liệu vào.
  • data có thể là 1 object chứa các trường và giá trị của nó hoặc cũng có thẻ là một mảng đối tượng (nếu như bạn muốn thêm nhiều bản ghi trên một lần khai báo).

VD1: Thêm mới một dữ liệu vào collection có tên là admin.

db.admin.insert({
  name: "Vu Thanh Tai",
  password: "admin",
  email: "[email protected]"
})

Nếu như nInserted trả về là 1 tương đương với việc bạn đã thêm thành công một bản ghi vào trong MongoDB . Ứng với ví dụ trên thì có nghĩa là chúng ta đã thêm thành công dữ liệu.

VD2: Thêm mới nhiều dữ liệu vào collection có tên là admin.

Với ví dụ này nếu như tham số nInserted trả về có giá trị là 2 thì tức nào dữ liệu bạn đã thêm thành công.

insertOne

-Phương thức insertOne trong MongoDB có tác dụng cho phép chúng ta insert một dữ liệu vào trong MongoDB trên một lần khai báo.

Cú Pháp:

db.collectionName.insertOne(data)

Trong đó:

  • collectionName là tên của collection chúng ta cần thêm dữ liệu vào.
  • data là một obejct chứa dữ liệu chúng ta cần thêm vào.

VD3: Thêm mới một dữ liệu vào trong MongoDB.

db.admin.insertOne({
  name: "Vu Thanh Tai",
  password: "admin",
  email: "[email protected]"
})

-Nếu như thêm thành công thì hệ thống sẽ trả về cho chúng ta _id của dữ liệu vừa được thêm.

inserMany

-Phương thức insertMany cho phép chúng ta thêm mới nhiều dữ liệu vào trong MongoDB.

Cú Pháp:

db.collectionName.insertMany(data)
  • collectionName là tên của collection chúng ta cần thêm dữ liệu vào.
  • data là một mảng obejct chứa dữ liệu chúng ta cần thêm vào.

 VD4: Thêm nhiều dữ liệu vào trong MongoDB.

db.admin.insertMany([
  {
    name: "Vu Thanh Tai",
    password: "admin",
    email: "[email protected]"
  },
  {
    name: "administrator",
    password: "admin123",
    email: "[email protected]"
  }
])

Nếu như thành công thì nó sẽ trả về _id của các dữ liệu vừa được thêm.

2, Chú ý.

-Với cả ba phương thức trên nếu như collectionName của chúng ta chưa tồn tại trong hệ thống thì mặc định MongoDB sẽ tự động thêm mới và đồng thời insert dữ liệu luôn.

VD: Giả sử trong hệ thống của bạn chưa tồn tại collection posts mà bạn thực hiện câu lệnh insert dữ liệu vào trong collection posts thì câu lệnh đó sẽ thực hiện tạo collection posts và thêm dữ liệu vào trong collection đó.

-Vì vậy, mọi người phải hết sức chú ý khi thực hiện thêm mới dữ liệu.

3, Lời kết.

- Phần này chúng ta tạm dừng ở việc thêm dữ liệu thôi, phần sau chúng ta sẽ tìm hiểu về cách select dữ liệu trong Collection.

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Bài Viết Mới

This entry is part 9 of 24 in the series MongoDB

  • MongoDB là gì? Các khái niệm trong MongoDB
  • Hướng dẫn cài đặt, cấu hình MongoDB trên Windows 10
  • Cài đặt và sử dụng Robo 3T (RoboMongo) trên Windows
  • Hướng dẫn cài đặt MongoDB trên Linux (Ubuntu 16.04)
  • Hướng dẫn MongoDB – Tạo database trong MongoDB
  • Hướng dẫn MongoDB – Xóa, DROP database trong MongoDB
  • Tạo bảng, collections trong MongoDB (Tạo bằng dòng lệnh, Robo3t)
  • Xóa bảng, collections trong MongoDB (Xóa bằng lệnh/ Robo3T)
  • Insert document, bản ghi trong MongoDB (Insert bằng lệnh, Robo3T)
  • Truy vấn dữ liệu/document, find(), Select, Where trong MongoDB
  • Xóa document, row trong MongoDB (bằng dòng lệnh, Robo3T)
  • Update document, dữ liệu trong MongoDB
  • Projection trong MongoDB (SELECT field/column trong MongoDB)
  • Sắp xếp trong MongoDB(orderBy, sorting() trong MongoDB)
  • Ưu nhược điểm của MongoDB, khi nào nên dùng MongoDB
  • Xóa cột, field, trường của collections trong MongoDB ($unset)
  • Kiểm tra null, check tồn tại trong MongoDB với $exists
  • Đổi tên field trong MongoDB với $rename
  • Tạo user/roles, phân quyền người dùng trên MongoDB
  • Các loại roles, vai trò, quyền trong MongoDB.
  • Đăng nhập mongodb với username và password (database mongo)
  • Tạo Replica Set trong MongoDB, Ví dụ Replica Set MongoDB
  • Replication, Replica Set trong MongoDB là gì?
  • Phân trang trong MongoDB (skip(), limit() paging trong MongoDB)

Insert document, bản ghi trong MongoDB (Insert bằng lệnh, Robo3T).

Document trong MongoDB tương ứng với khái niệm row trong table của SQL tuy nhiên số lượng các trường trong document sẽ không cố định. Nếu bạn không truyền giá trị cho trường nào đó thì nó sẽ không insert vào MongoDB (trong khi row SQL sẽ để là null hoặc giá trị mặc định).

Cú pháp:

Để insert document vào MongoDB ta dùng lệnh insert():

db.COLLECTION_NAME.insert(document)

(nếu collection chưa tồn tại thì nó sẽ tự động được tạo)

Ví dụ insert document {"name":"kai", "address":"vietname"} và collection customer của database stackjava

db.customer.insert({"name":"kai","address":"vietnam"})

Hướng dẫn insert trong mongodb

Khi thực hiện insert document vào mongodb nó sẽ tự động tạo thêm 1 trường _id với giá trị phân biệt, không trùng với giá trị nào.

Bạn cũng có thể truyền _id khi insert document:

db.customer.insert({"id":"first_id","name":"kai","address":"vietnam"})

Insert nhiều document cùng lúc trong MongoDB

Trong ví dụ trên, khi thực hiện insert document với method insert, tham số đầu vào là 1 đối tượng json. Vậy nếu muốn insert nhiều document cùng lúc ta chỉ cần thay tham số bằng một mảng các đối tượng json.

db.customer.insert([{"name":"superman","address":"usa"},{"name":"lee byung hun","address":"korea"},{"name":"honda","address":"japan"}])

Hướng dẫn insert trong mongodb

Ngoài ra bạn cũng có thể dùng lệnh

  • db.collection.insertOne() khi insert 1 document
  • db.collection.insertMany() khi insert nhiều document

Insert document bằng Robo3T

(Xem lại: cài đặt và sử dụng Robo 3T)

Click chuột phải vào collection cần insert và chọn “Insert Document”

Hướng dẫn insert trong mongodb

Nhập thông tin document cần insert và ấn nút save.

Hướng dẫn insert trong mongodb

Xem lại kết quả:

Hướng dẫn insert trong mongodb

Insert document, bản ghi trong MongoDB (Insert bằng lệnh, Robo3T) stackjava.com

Okay, Done!

References: https://docs.mongodb.com/manual/mongo/