首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套数组中按数字更改字段

嵌套数组中按数字更改字段
EN

Stack Overflow用户
提问于 2015-09-18 07:48:36
回答 2查看 172关注 0票数 0

假设存在一个数据结构,其中包含以下对象

代码语言:javascript
复制
{ 
  name : 'ernie',
  likes : [
  {
    what : 'rubber duckie',
    howmuch : 5
  },
  {
    what : 'bert',
    howmuch : 3
  }]
}

代码语言:javascript
复制
{ 
  name : 'cookie monster',
  likes : [
  {
    what : 'cookies',
    howmuch : 100
  }]
}

如果ernielikes-array的likes-array的howmuch-value应该增加1,那么是否有MongoDB命令来完成这个任务呢?JavaScript-等效于ernie.likes[0].howmuch++

具体来说,可以通过索引号访问数组的元素。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-18 08:10:56

若要将howmuch字段值增加到ernie's‘s-数组的0th元素中的1,请使用$inc运算符和点符号通过基于零的索引位置访问数组的元素:

代码语言:javascript
复制
db.collection.update(
    {
        "name": "ernie"       
    }, 
    { 
        "$inc" : { "likes.0.howmuch" : 1 } 
    }
)
票数 1
EN

Stack Overflow用户

发布于 2015-09-18 08:01:23

要在数组上创建索引吗?如果是,则必须在“喜欢”数组上创建索引。使用以下代码:db.sample.createIndex ({likes : 1})。或者更具体地说,您必须创建db.sample.createIndex ({'likes.howmuch': 1})

创建索引后,可以使用索引访问数组元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32646613

复制
相关文章

相似问题

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