sql >> データベース >  >> NoSQL >> MongoDB

配列内の既存のオブジェクトを変更しますが、キーの一意性は維持します

    2つの条件があると思います:

    var newName = "somename";
    var oldName = "nick";
    var newOption = 3;
    
    // if not change the name
    db.coll.update({
        _id : id,
        'profile_set.name' : oldName
    }, {
        $set : {
            "profile_set.$.options" : newOption
        }
    });
    
    // if change the name
    db.coll.update({
        _id : id,
        $and : [ {
            'profile_set.name' : {
                $ne : newName
            }
        }, {
            'profile_set.name' : oldName    
        } ]
    }, {
        $set : {
            "profile_set.$.name" : newName,
            "profile_set.$.options" : newOption
    
        }
    });
    



    1. Mongodb-シャーディング時に_idはグローバルに一意である必要があります

    2. MongoDB Atlasエラー:スキーマが無効です。mongodbが必要です

    3. ワイルドカードテキストインデックスと継承されたスキーマ

    4. RESTHeartパッチで単一のオブジェクトを更新するにはどうすればよいですか?