MongoDB查询:获取前10个已完成工作流的记录
MongoDB查询已完成工作流的记录
要查询满足currentWorkFlow等于workFlows数组长度减1的前10条记录,你可以使用以下两种方式:
方法一:使用find结合$expr
db.collection.find({ $expr: { $eq: ["$currentWorkFlow", { $subtract: [{ $size: "$workFlows" }, 1] }] } }).limit(10)
方法二:使用聚合管道
db.collection.aggregate([ { $match: { $expr: { $eq: ["$currentWorkFlow", { $subtract: [{ $size: "$workFlows" }, 1] }] } } }, { $limit: 10 } ])
说明
$expr允许在查询条件中使用聚合表达式,实现字段间的逻辑比较$size用于获取workFlows数组的长度,$subtract计算数组长度减1的值$eq判断currentWorkFlow是否等于上述计算结果limit(10)用于返回前10条符合条件的记录
内容的提问来源于stack exchange,提问作者Yash Raj
相关产品推荐
相关产品推荐

