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

同じドキュメントへのMongoDBの同時更新がアトミックに動作していません

    条件付き更新を使用し、更新されたドキュメントの数を調べて、更新が行われたかどうかを確認します。

    require 'mongo'
    
    client = Mongo::Client.new(['localhost:14400'])
    
    coll = client['coll']
    
    coll.delete_many
    coll.insert_one(foo: 1)
    
    rv = coll.update_one({foo: 1}, '$set' => {foo: 2})
    if rv.modified_count == 1
      puts 'Updated'
    end
    
    rv = coll.update_one({foo: 1}, '$set' => {foo: 2})
    if rv.modified_count == 1
      puts 'Updated'
    end
    

    https://github.com/p -mongo / tests / blob / master / query-conditional-update / test.rb




    1. ドキュメントが更新されているか、MongoDBに挿入されているかを確認する方法

    2. MongoDB:配列の$ sizeを別のドキュメントアイテムと比較する方法は?

    3. MongoDB $ toDecimal

    4. 複数の変数を持つrender_template