新手问题 关于 MongoId 的 set 方法

milk · 2017年09月29日 · 最后由 milk 回复于 2017年09月29日 · 1001 次阅读

假设我现在在 MongoDB 有这么一条数据

{
    id: 1,
    data: {
        foo: {
            name: "foo"
        }
    }
}

现在我要在这条数据中的 data 下,增加一个 bar 的项,在 mongodb 自带的 shell 中,可以这么操作

db.xx.update({id:1},{$set,{'data.bar',{name:"bar"}}})

但是在使用 MongoId 库提供的 set 方法时,却发现他把整个 data 内容给替换了,而不是往里面新增了属性

record.set('data.bar' => {name: 'bar'})

是我使用方式错了,还是另有方法?

自己试出来了 先把值取出来,组合成新的 hash,再保存

hash = record['data']
hash['bar'] = {name: 'bar'}
record.set(data: hash)
需要 登录 后方可回复, 如果你还没有账号请 注册新账号