如何在Mongodb中查询其中字段是聚合表达式?
How to query in Mongodb where field is an aggregated expression?
这似乎是一个简单的问题,但我找不到答案。这在 SQL.
中很容易做到
我想通过搜索由两个字段组合而成的值来查询 mongodb。例如,我想搜索 fieldA + fieldB == ID01
的文档
我尝试了以下但它不起作用。
collection.find({{$concat:[$fieldA, $fieldB]}: 'ID01'})
你可以试试聚合框架-
db.collection.aggregate(
[
{ $project: { newField: { $concat: [ "$fieldA", "$fieldB" ] }, fieldA: 1, fieldB: 1 } },
{ $match: { newField: 'ID01' } }
]
)
这似乎是一个简单的问题,但我找不到答案。这在 SQL.
中很容易做到我想通过搜索由两个字段组合而成的值来查询 mongodb。例如,我想搜索 fieldA + fieldB == ID01
我尝试了以下但它不起作用。
collection.find({{$concat:[$fieldA, $fieldB]}: 'ID01'})
你可以试试聚合框架-
db.collection.aggregate(
[
{ $project: { newField: { $concat: [ "$fieldA", "$fieldB" ] }, fieldA: 1, fieldB: 1 } },
{ $match: { newField: 'ID01' } }
]
)