虚位以待(AD)
虚位以待(AD)
首页 > 数据库 > MongoDB数据库 > mongodbupdate多层嵌套数组

mongodbupdate多层嵌套数组
类别:MongoDB数据库   作者:码皇   来源:<a href="http://blog.csdn.net/mushuntaosama" target="_blank" rel="nofoll   点击:

mongodbupdate多层嵌套数组。
    mongodbupdate多层嵌套数组,This is more or less my current schema:{
    "_id" : 1 "user_id": 1, "message" : "Yes" "translations" : [ {
    "destination" : "fr", "text": "Oui", "rating" : [ {
    "user_id" : 1, "rating" : 1 }
    , {
    "user_id" : 2, "rating" : 1 }
    ] }
    ]}

这个更新语句会报错,目前不支持多个$占位符

    db.getCollection('
    message'
    ).update({
    '
    _id'
    : 1, '
    translations.destination'
    : '
    fr'
    , '
    translations.rating.user_id'
    :'
    1'
    }
    ,{
    '
    $set'
    : {
    "translations.$.rating.$.rating": 5 }
    }

最好修改数据格式,采用key-value格式

    {
    "_id" : 1 "user_id": 1, "message" : "Yes" "translations" : {
    "fr": {
    "destination" : "fr", "text": "Oui", "rating" : [ {
    "user_id" : 1, "rating" : 1 }
    , {
    "user_id" : 2, "rating" : 1 }
    }
    }
    , "en": {
    ...}
    ]}

这样就可以更新了


    translations.fr.rating.$.rating”
    : 5

方法来自于 https://pythonolyk.wordpress.com/2016/01/17/mongodb-update-nested-array-using-positional-operator/

相关热词搜索: