mongodb 更新嵌套数组的值

修改数组

修改数组 accepts 中第$个对象的 member_id

db.notifies.updateMany({'cls': ObjectId('5f2d49aafad1311d3dc988ce'), 'accepts.member_id': ObjectId('5f2d49ddbc5912156229341a')},{
    $set:{
        'accepts.$.member_id': ObjectId('5f2d49ddbc5912156229341b')
    }
})

// 这里的 or 语句 找到的 $ ??

db.notifies.updateMany(

        {$and: [
        {'cls': ObjectId('5f2d49aafad1311d3dc988ce')},{
            $or: [{
                'accepts.member_id': ObjectId('5f2d49fd0a5c2d7d69a98f01')
            },{
                'feedbacks.member_id': ObjectId('5f2d49fd0a5c2d7d69a98f01')
            }]
        }
    ]}
,
    {
    $set:{
        'accepts.$.member_id': ObjectId('5f2d49ddbc5912156229341b')
    }
})
unset数组

unset 结果会变成 null


db.notifies.updateMany({'cls': ObjectId('5f2d49aafad1311d3dc988ce'), 'accepts.member_id': ObjectId('5f2d49ddbc5912156229341b')},{
    $unset:{
        'accepts.$': 1
    }
})
删除数组

删除 accepts 数组中 member_id 为 5f2d49fd0a5c2d7d69a98f01 的

db.notifies.updateMany({'cls': ObjectId('5f2d49aafad1311d3dc988ce'), 'accepts.member_id': ObjectId('5f2d49fd0a5c2d7d69a98f01')},{
    $pull: {
        'accepts': { 'member_id': ObjectId('5f2d49fd0a5c2d7d69a98f01') }
    }
})
db.notifies.updateMany(
    {$and: [
        {'cls': ObjectId('5f2e168392908e1f001f107c')},{
            $or: [{
                'accepts.member_id': ObjectId('5f2e16db4410357c03653ad5')
            },{
                'feedbacks.member_id': ObjectId('5f2e16db4410357c03653ad5')
            }]
        }
    ]},

    {$pull: {
        'accepts': { 'member_id': ObjectId('5f2e16db4410357c03653ad5') },
        'feedbacks': { 'member_id': ObjectId('5f2e16db4410357c03653ad5') }
    },
    }
)

BerkeleyDB

download BerkeleyDB ../dist/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix="$HOME/bdb" --enable-cxx --enable-static --di...

阅读全文

sqlite

http://blog.csdn.net/lijinqi1987/article/details/51672711

阅读全文

mysql 忘记root密码

http://jingyan.baidu.com/article/9c69d48f42166213c9024e02.html

阅读全文

欢迎留言