Trong MongoDB shell, phương thức save() chèn tài liệu mới (nếu chưa có _id) hoặc cập nhật (nếu có _id), và **tự động gán _id vào biến tham chiếu**.
Tạo biến đối tượng:
> var studentDetails={"StudentFirstName":"Chris","StudentLastName":"Brown","StudentAge":24};
Lưu vào collection demo45:
> db.demo45.save(studentDetails);
WriteResult({ "nInserted" : 1 })
Hiển thị biến studentDetails (đã có _id):
> studentDetails;
Đặc điểm save():
- Chỉ hoạt động trong **mongo shell** (không phải driver)
- Nếu đối tượng **chưa có _id** →
insertOne, gán _id mới vào biến - Nếu đối tượng **đã có _id** →
replaceOne(upsert), cập nhật toàn bộ tài liệu - Trả về
WriteResultthông báo kết quả
Trong driver (Node.js, Python...): Dùng insertOne() và lấy result.insertedId.
// Node.js example const result = await collection.insertOne(doc); console.log(result.insertedId); // ObjectId vừa tạo