Tôi cần lọc tài liệu của mình theo ngày tháng. Tài liệu của tôi chứa một mảng đối tượng có các trường startDate và endDate như thế này
[
{
"key": 1,
"dates": [
{
"id": 1,
"startDate": "20220512",
"endDate": "20220517"
},
{
"id": 2,
"startDate": "20220701",
"endDate": "20220705"
}
]
},
{
"key": 2,
"dates": [
{
"id": 3,
"startDate": "20220501",
"endDate": "20220505"
}
]
}
]
Làm cách nào tôi có thể lọc tổng hợp này với một yêu cầu như. /documents?startDate=20220510&endDate=20220518 ?
Trong php tôi đã viết yêu cầu này hoạt động trên mongoplayground nhưng không hoạt động ở đây, tôi gặp lỗi "bộ lọc khớp phải là một biểu thức trong một đối tượng"
Thao tác sau đây sử dụng toán tử $gte
để xác định xem
{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 } { "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 } { "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 } { "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 } { "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }1 có lớn hơn hoặc bằng
{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 } { "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 } { "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 } { "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 } { "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }2 không
db.inventory.aggregate[ [ { $project: { item: 1, qty: 1, qtyGte250: { $gte: [ "$qty", 250 ] }, _id: 0 } } ] ]
Hoạt động trả về kết quả sau
{ "item" : "abc1", "qty" : 300, "qtyGte250" : true } { "item" : "abc2", "qty" : 200, "qtyGte250" : false } { "item" : "xyz1", "qty" : 250, "qtyGte250" : true } { "item" : "VWZ1", "qty" : 300, "qtyGte250" : true } { "item" : "VWZ2", "qty" : 180, "qtyGte250" : false }
← $gt [tổng hợp] $lt [tổng hợp] →
© MongoDB, Inc 2008-nay. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc
GTE và LTE trong MongoDB là gì?
[Bài viết này là một phần của Hướng dẫn MongoDB của chúng tôi.
. Toán tử so sánh
LTE và GTE là gì?
Tôi đã học được rằng lte nhỏ hơn hoặc bằng và gte lớn hơn hoặc bằng .