📜  mongoose 查询中的 array.length - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:42.853000             🧑  作者: Mango

Mongoose 查询中的 array.length

在使用 Mongoose 进行 MongoDB 数据库操作时,我们经常需要查询文档中数组的长度。Mongoose 提供了 array.length 方法来实现。

查询符合条件的数组长度
Model.find({ $and: [{ array: { $exists: true } }, { $where: "this.array.length == 3" }] }, function(err, docs) {
  console.log(docs);
});

上面的代码中,我们使用 $where 操作符来查询 array 字段长度为 3 的文档。注意 $where 运行在数据库端,性能较差,不建议在生产环境中使用。

获得所有文档的数组长度
Model.aggregate([{ $project: { arrayLength: { $size: "$array" } } }], function(err, result) {
  console.log(result);
});

上面的代码使用了 $size 操作符来获取所有文档的 array 数组长度,并将结果保存在 arrayLength 字段中。

参考文档