Tôi có một bộ sưu tập MongoDB với các tài liệu ở định dạng sau:
{
"_id" : ObjectId("4e8ae86d08101908e1000001"),
"name" : ["Name"],
"zipcode" : ["2223"]
}
{
"_id" : ObjectId("4e8ae86d08101908e1000002"),
"name" : ["Another ", "Name"],
"zipcode" : ["2224"]
}
Hiện tại tôi có thể nhận tài liệu phù hợp với kích thước mảng cụ thể:
db.accommodations.find({ name : { $size : 2 }})
Điều này trả về chính xác các tài liệu với 2 phần tử trong name
mảng. Tuy nhiên, tôi không thể thực hiện $gt
lệnh trả về tất cả các tài liệu trong đó name
trường có kích thước mảng lớn hơn 2:
db.accommodations.find({ name : { $size: { $gt : 1 } }})
Làm cách nào tôi có thể chọn tất cả các tài liệu có một name
mảng có kích thước lớn hơn một (tốt nhất là không phải sửa đổi cấu trúc dữ liệu hiện tại)?