【发布时间】:2017-11-25 09:55:31
【问题描述】:
我有这个样本测试收集文件:
/* 1 */
{
"_id" : 1.0,
"value" : 10.7
}
/* 2 */
{
"_id" : 2.0,
"value" : 10.8
}
/* 3 */
{
"_id" : 3.0,
"value" : 10.7
}
所以当我在聚合管道中使用 $addFields 来使用查询在文档中添加新的“结果”字段时:
db.test.aggregate([{$addFields:{result:{ $add : ["$value", .10]}}}]);
结果如下:
/* 1 */
{
"_id" : 1.0,
"value" : 10.7,
"result" : 10.8
}
/* 2 */
{
"_id" : 2.0,
"value" : 10.8,
"result" : 10.9
}
/* 3 */
{
"_id" : 3.0,
"value" : 10.7,
"result" : 10.8
}
现在我想使用 mongo 查询与这个新添加的字段进行比较:
db.test.aggregate([
{$addFields:{result:{ $add : ["$value", .10]}}},
{ $match : { result : { $eq : 10.8}}}
]);
我看到上面的查询是正确的,但不知道为什么它没有返回匹配的文档?
我在这里做错了吗?
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework