收藏
回答

云数据库中,每条记录的一个字段是数组,数组的每个元素是对象,怎么可以检索到数组中的某个对象?

比如其中一条记录的一个字段是info:[{gh:001,name:'张三',age:24},{gh:002,name:'李四',age:24},{gh:003,name:'小明',age:24}] ,怎么能以 李四的gh,检索到002呢。望大神指点

回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-07-07
    db.collection('todos').where({
      info: _.elemMatch({
        name: _.eq('李四')
      })
    })
    .get()
    
    db.collection('todos').where({
      'info.name': '李四'
    })
    .get()
    
    2020-07-07
    有用 1
    回复
  • 老张
    老张
    2020-07-07

    aggregate.unwind

    2020-07-07
    有用 1
    回复 3
    • 夏日星辰
      夏日星辰
      2020-07-07
      刚看了下,用Command.elemMatch,这个应该也可以把
      2020-07-07
      回复
    • 老张
      老张
      2020-07-07回复夏日星辰
      这个你会把整条记录取过来,并不能只获取李四的信息。如果是整条记录取过来,你再JS取李四的信息,那就简单了,直接:
      where({'info.name':'李四'})
      2020-07-07
      1
      回复
    • 夏日星辰
      夏日星辰
      2020-07-07
      都是高手
      2020-07-07
      回复
登录 后发表内容
问题标签