Để xóa các mục nhập trùng lặp bằng hai khóa, hãy sử dụng tổng hợp () trong MongoDB. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.demo108.insertOne({"Value1":23,"Value2":24});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e2ee3e49fd5fd66da214477")
}
> db.demo108.insertOne({"Value1":23,"Value2":25});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e2ee3f29fd5fd66da214478")
}
> db.demo108.insertOne({"Value1":23,"Value2":24});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e2ee3f59fd5fd66da214479")
} Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.demo108.find();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e2ee3e49fd5fd66da214477"), "Value1" : 23, "Value2" : 24 }
{ "_id" : ObjectId("5e2ee3f29fd5fd66da214478"), "Value1" : 23, "Value2" : 25 }
{ "_id" : ObjectId("5e2ee3f59fd5fd66da214479"), "Value1" : 23, "Value2" : 24 } Sau đây là truy vấn để loại bỏ các mục nhập trùng lặp bằng hai khóa trong MongoDB -
> db.demo108.aggregate([{ "$sort": { "_id": 1 } },
... {
... "$group": {
... "_id": { "Value1": "$Value1", "Value2": "$Value2" },
... "doc": { "$first": "$$ROOT" }
... }
... },
... { "$replaceRoot": { "newRoot": "$doc" } },
... { "$out": "demo108" }]); Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.demo108.find();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e2ee3f29fd5fd66da214478"), "Value1" : 23, "Value2" : 25 }
{ "_id" : ObjectId("5e2ee3e49fd5fd66da214477"), "Value1" : 23, "Value2" : 24 }