Mongodb 使用集合中的值进行mongo db聚合匹配
如何将MongoDB中的一个字段与同一集合中另一个字段的值进行匹配 例如,从集合测试中:(不是完全相同的集合,但它满足需要) 测试: 我需要获取“a”的值与“d”的值匹配的文档。 我试过: 但是没有希望Mongodb 使用集合中的值进行mongo db聚合匹配,mongodb,nosql,match,aggregate,Mongodb,Nosql,Match,Aggregate,如何将MongoDB中的一个字段与同一集合中另一个字段的值进行匹配 例如,从集合测试中:(不是完全相同的集合,但它满足需要) 测试: 我需要获取“a”的值与“d”的值匹配的文档。 我试过: 但是没有希望 db.collection.aggregate([ { $match: { $expr: { $eq: [ "$a", "$d" ] } }
db.collection.aggregate([
{
$match: {
$expr: {
$eq: [
"$a",
"$d"
]
}
}
}
])
工作您需要使用
$expr
(和聚合运算符)来匹配文档中的两个字段。与expr
一起使用时,您甚至可以在查找
方法中使用匹配(而不是聚合匹配)。
db.test.aggregate([
{$match:{a:'$d'}}
])
db.collection.aggregate([
{
$match: {
$expr: {
$eq: [
"$a",
"$d"
]
}
}
}
])