Để so sánh các trường từ một mảng, hãy sử dụng $ gt và $ lt. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.demo147.insertOne({"Details":[{"Score":45},{"Score":46}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e32fa21fdf09dd6d08539be") } > db.demo147.insertOne({"Details":[{"Score":65},{"Score":86}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e32fa40fdf09dd6d08539bf") }
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.demo147.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e32fa21fdf09dd6d08539be"), "Details" : [ { "Score" : 45 }, { "Score" : 46 } ] } { "_id" : ObjectId("5e32fa40fdf09dd6d08539bf"), "Details" : [ { "Score" : 65 }, { "Score" : 86 } ] }
Đây là cách truy vấn một tài liệu trong MongoDB so sánh các trường từ một mảng -
> db.demo147.find({ 'Details.Score': { $gt: 45, $lt: 50 }});
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e32fa21fdf09dd6d08539be"), "Details" : [ { "Score" : 45 }, { "Score" : 46 } ] }