【发布时间】:2014-10-27 10:56:27
【问题描述】:
我有一个带有以下“模式”的 MongoDB 文档集合:
{
field1: value1,
field2: value2
}
我想在管道中运行带有“$match”的查询,以检查 field1 和 field2 值的相等性。
类似于“field1”==“field2”。
我该怎么做?
谢谢大家!
【问题讨论】:
标签: c# mongodb mongodb-query
我有一个带有以下“模式”的 MongoDB 文档集合:
{
field1: value1,
field2: value2
}
我想在管道中运行带有“$match”的查询,以检查 field1 和 field2 值的相等性。
类似于“field1”==“field2”。
我该怎么做?
谢谢大家!
【问题讨论】:
标签: c# mongodb mongodb-query
db.c.aggregate([{
$project : {
equal : {
$eq : ["$field1", "$field2"] // to judge like your : "valueof(field1) == valueof(field2)"
},
doc : "$$ROOT" // store the whole document, this is optional
}
}, {
$match : {
equal : true // filter to get documents only satisfy : "valueof(field1) == valueof(field2)"
}
}]);
【讨论】:
你需要做这样的事情:
db.collection.aggregate([{$match:{field1:value1 , field2:value1}}])
【讨论】:
field1 和 field2,而不是将它们与相同的值进行比较。