Giả sử bạn có những tài liệu này trong events
của mình :
{
"_id" : ObjectId("54cdfde528bb923955eff8b4"),
"v1" : 35,
"v2" : 10
}
/* 1 */
{
"_id" : ObjectId("54cdfde928bb923955eff8b5"),
"v1" : 10,
"v2" : 20
}
Bạn không thể sử dụng find()
đơn giản truy vấn. Bạn nên sử dụng kết hợp:
db.events.aggregate(
[
{ $project : { 'diff' : { $subtract : ['$v1', '$v2'] }, v1 : 1, v2 : 1 } },
{ $match : { diff : { $gt : 20} } },
{ $project : { v1 : 1, v2 : 1 } },
]).result
kết quả là:
{
"0" : {
"_id" : ObjectId("54cdfde528bb923955eff8b4"),
"v1" : 35,
"v2" : 10
}
}