Mongoose MongoDB 找到数组字段的数组长度最小的那个
Mongoose MongoDB find the one with smallest array-length of an array-field
我需要集合中字段数组大小最小的文档。
文件看起来如下:
{
"_id": ObjectId("jsd273rsdjkvn847ckjnas74"),
"associatedUsers": [
ObjectId("jsd273rsdjkvn847ckjnas75"),
ObjectId("jsd273rsdjkvn847ckjnas76")
]
}
在 MongoDB 中的所有文档中,我需要找到数组中 associatedUsers 数量最少的文档。基本上是数组长度最短的那个。
您可以使用 $addFields to calculate new field based on array $size and then use $sort along with $limit 来获取具有最小数组的文档:
db.collection.aggregate([
{
$addFields: {
size: { $size: "$associatedUsers" }
}
},
{
$sort: { size: 1 }
},
{
$limit: 1
}
])
我需要集合中字段数组大小最小的文档。 文件看起来如下:
{
"_id": ObjectId("jsd273rsdjkvn847ckjnas74"),
"associatedUsers": [
ObjectId("jsd273rsdjkvn847ckjnas75"),
ObjectId("jsd273rsdjkvn847ckjnas76")
]
}
在 MongoDB 中的所有文档中,我需要找到数组中 associatedUsers 数量最少的文档。基本上是数组长度最短的那个。
您可以使用 $addFields to calculate new field based on array $size and then use $sort along with $limit 来获取具有最小数组的文档:
db.collection.aggregate([
{
$addFields: {
size: { $size: "$associatedUsers" }
}
},
{
$sort: { size: 1 }
},
{
$limit: 1
}
])