如何基于在MongoDB中添加两个属性的值来搜索文档?
您可以为此使用聚合框架。在这里,我们将得到总和,然后将其匹配以搜索少于特定编号的文档。首先让我们创建一个包含文档的集合-
> db.searchDocumentsDemo.insertOne({"Value1":100,"Value2":560});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd3fe1eedc6604c74817ce9")
}
> db.searchDocumentsDemo.insertOne({"Value1":300,"Value2":150});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd3fe29edc6604c74817cea")
}
> db.searchDocumentsDemo.insertOne({"Value1":400,"Value2":200});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd3fe30edc6604c74817ceb")
}
> db.searchDocumentsDemo.insertOne({"Value1":190,"Value2":210});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd3fe45edc6604c74817cec")
}以下是在find()方法的帮助下显示集合中所有文档的查询-
> db.searchDocumentsDemo.find().pretty();
这将产生以下输出-
{
"_id" : ObjectId("5cd3fe1eedc6604c74817ce9"),
"Value1" : 100,
"Value2" : 560
}
{
"_id" : ObjectId("5cd3fe29edc6604c74817cea"),
"Value1" : 300,
"Value2" : 150
}
{
"_id" : ObjectId("5cd3fe30edc6604c74817ceb"),
"Value1" : 400,
"Value2" : 200
}
{
"_id" : ObjectId("5cd3fe45edc6604c74817cec"),
"Value1" : 190,
"Value2" : 210
}以下是基于在文档上添加两个属性的值来搜索文档的查询-
> db.searchDocumentsDemo.aggregate([
... { $project: {totalValue: { $add: [ "$Value1", "$Value2" ] } } },
... { $match: {totalValue: {$lt: 500 }} }
... ]);这将产生以下输出-
{ "_id" : ObjectId("5cd3fe29edc6604c74817cea"), "totalValue" : 450 }
{ "_id" : ObjectId("5cd3fe45edc6604c74817cec"), "totalValue" : 400 }热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短