首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mongodb中如何在之前数据的基础上对count字段进行增量?

在mongodb中如何在之前数据的基础上对count字段进行增量?
EN

Stack Overflow用户
提问于 2019-03-18 16:57:36
回答 1查看 414关注 0票数 0

我有一个聊天模式,其中的字段如下:

代码语言:javascript
复制
[{
 "text" : "xyz",
 "userId" :ObjectId("1")  // mongoId which reference User schema
 "count" : 1
},
{
 "text" : "xyz-1",
 "userId" :ObjectId("2")  // mongoId which reference User schema
 "count" : 1
},
{
 "text" : "xyz-2",
 "userId" :ObjectId("1")  // mongoId which reference User schema
 "count" : 2
}]

我想在这里做的是,每当我在聊天模式中插入一个新文档时,它都会检查userId是否已经是他们的,如果是,那么就用增加计数的方式插入文档,否则从'1‘开始计数。因此,如果我插入一个带有userID '1‘的新文档,那么按照上面的例子,这个时间计数应该是'3’。

编辑:问这个问题的唯一目的是,我可以在没有额外mongo调用的情况下处理这个场景吗?

EN

回答 1

Stack Overflow用户

发布于 2019-03-18 18:38:36

试一下这个

代码语言:javascript
复制
function getNextSequence(id) {
 var ret = db.collection.aggregate([
      {$match:{userId: id}}
]).toArray();
if(ret.length) {
    return ++ret[ret.length-1].count;
}
else return 1
}


db.collection.insert(
{
 name: "Sarah C.",
"userId" : ObjectId("5c74ddb8fc3e023d9ab588b8"),
 count:getNextSequence(ObjectId("5c74ddb8fc3e023d9ab588b8"))
})   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55217657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档