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

mongoは配列データをアップサートできますか?

    私は自分でこの問題に遭遇しました。ワンコールソリューションを見つけることができませんでしたが、配列要素に一意の値がある場合に機能する2コールソリューションを見つけました$pullを使用します 最初にコマンドを実行します。これにより、配列から要素が削除され、次に$push

    db.soup.update({
        "tester":"tom"
    }, {
        $pull: {
            'array': {
                "id": "3"
            }
        }
    })
    db.soup.update({
        "tester":"tom"
    }, {
        $push: {
            'array': {
                "id": "3",
                "letter": "d"
            }
        }
    })
    

    これは、ドキュメントが存在しない場合、ドキュメントは存在するが配列内のエントリが存在しない場合、およびエントリが存在する場合に機能するはずです。

    繰り返しますが、これはidのようなものがある場合にのみ機能します この例のフィールドは、配列の要素全体で一意である必要があります。



    1. Redis統計

    2. レール環境をロードせずにrubyresque

    3. Windows 32ビットでRedisを実行するにはどうすればよいですか?

    4. マングースの自動増分