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

Mongoは、nullのフィールドですべてのレコードを更新します

    名前フィールドがない場合は、次を試してください:

    db.collection.update({"name": {"$exists": false}}, {"$set": {"name": "test"}})
    

    $ set 新しいフィールドが型の制約に違反しない限り、指定された値で新しいフィールドを追加します。

    そこにあり、nullの場合、または値が設定されていない場合:

    db.collection.update({"name": null}, {"$set": {"name": "test"}})
    

    $ or として

    db.collection.update(
        {
            "$or": [
                { "name": { "$exists": false } }, 
                { "name": null }
            ]
        }, 
        { "$set": { "name": "test" } }
    )
    

    MongoDB 3.2以降では、<を使用します。強い>updateMany() フィルタに基づいてコレクション内の複数のドキュメントを更新します:

    db.collection.updateMany(
        {
            "$or": [
                { "name": { "$exists": false } }, 
                { "name": null }
            ]
        }, 
        { "$set": { "name": "test" } }
    )
    


    1. MongoDB-ドットをエスケープする'。'マップキーで]

    2. ディスクリミネーターでC#MongoDBLINQを使用する

    3. Pymongo:コレクション内のすべてのドキュメントを反復処理します

    4. MongoDB:配列オブジェクトをコレクションに保存したい