如何在查询中引用文档的字段值?
how to reference document's field value in query?
文件看起来像这样:
[{
quantity, 15,
limit: 15
},
{
quantity: 4,
limit: 5
},
{
quantity: 3,
limit: 3,
}]
我需要找到 quantity
小于 limit
的文档。所有文件都有不同的数量和限制。
如何在不知道文档的 limit
的情况下找到 quantity
小于其 limit
的文档?
使用$expr
访问字段值和聚合运算符的使用。
db.collection.find({
$expr: {
$lt: [
"$quantity",
"$limit"
]
}
})
Sample Mongo Playground (Query)
对于聚合查询:
db.collection.aggregate([
{
$match: {
$expr: {
$lt: [
"$quantity",
"$limit"
]
}
}
}
])
文件看起来像这样:
[{
quantity, 15,
limit: 15
},
{
quantity: 4,
limit: 5
},
{
quantity: 3,
limit: 3,
}]
我需要找到 quantity
小于 limit
的文档。所有文件都有不同的数量和限制。
如何在不知道文档的 limit
的情况下找到 quantity
小于其 limit
的文档?
使用$expr
访问字段值和聚合运算符的使用。
db.collection.find({
$expr: {
$lt: [
"$quantity",
"$limit"
]
}
})
Sample Mongo Playground (Query)
对于聚合查询:
db.collection.aggregate([
{
$match: {
$expr: {
$lt: [
"$quantity",
"$limit"
]
}
}
}
])