Mongodb MongoQuery使用添加更新文档
我在学生收藏中有以下文件:Mongodb MongoQuery使用添加更新文档,mongodb,mongodb-query,Mongodb,Mongodb Query,我在学生收藏中有以下文件: { "uid": 1, "eng": 70 } 现在我想在eng字段中加10,结果是80。为此,我使用以下查询: db.getCollection('student').aggregate([{$match:{uid:1}},{$set:{eng:{$sum:10}}}]) 但它不起作用。那么,如何将字段中的任何数字添加到所需的输出中呢?是MongoDB中的任何添加查询。请在此帮助我解决方案1:将总和设置为同一字段eng d
{
"uid": 1,
"eng": 70
}
现在我想在eng字段中加10,结果是80。为此,我使用以下查询:
db.getCollection('student').aggregate([{$match:{uid:1}},{$set:{eng:{$sum:10}}}])
但它不起作用。那么,如何将字段中的任何数字添加到所需的输出中呢?是MongoDB中的任何添加查询。请在此帮助我解决方案1:将总和设置为同一字段eng
db.student.aggregate([
{$match:{uid:1}},
{
$set:{
英语:{$add:[“$eng”,10]}/$sum:[“$eng”,10]也可以;)
}
}
])
输出:
{
“_id”:ObjectId(“6065f94abb72032a689ed61d”),
“uid”:1,
“英语”:80
}
解决方案#2:将总和设置为不同的字段结果
结果
字段eng
并将其存储在result
中db.student.aggregate([
{$match:{uid:1}},
{
$addFields:{
结果:{$add:[“$eng”,10]}
}
}
])
输出:
{
“_id”:ObjectId(“6065f94abb72032a689ed61d”),
“uid”:1,
“eng”:70,
“结果”:80
}
我建议在此处使用$inc
操作符:
db.getCollection('student').update(
{ uid: 1 },
{ $inc: { eng: 10 } }
)
这回答了你的问题吗?有很多类似的问题,@Suraj Dalvi:JFYI,
.aggregate()
用于读取
,但不用于写入
,在.aggregate()
中只有两个阶段将写入DB($out
和$merge
)…您正在合并.aggregate()
使用积垢操作进行分级
,检查以下内容: