受け入れられた回答で示唆されているように、スタンドアロンサーバーではなく、トランザクションを実行できるようにレプリカセットとしてローカルサーバーを実行する必要があります。
ただし、提案されたソリューションに加えて、スタンドアロンのローカルデータベースをサードパーティのツールを使用せずにレプリカセットに簡単に変換できます。 、MongoDBドキュメント の手順に従ってください 、次のように要約します:
- スタンドアロンのmongodインスタンスを停止し、
replSet
で再起動します 議論。
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost
-
mongo
を使用してインスタンスに接続します シェルを作成し、新しいレプリカセットを開始します。
rs.initiate()
これで、スタンドアロンのmongodbサーバーの代わりにレプリカセットが必要になります。このサーバーでは、ローカル環境でトランザクションを実行して、複数のドキュメントを一度に更新できます。
忘れないでください replSet
を含める サーバーを起動するたびに引数を指定します。それ以外の場合は、スタンドアロンとして起動されます。手順1と同じコマンドを使用して、もう一度実行します。
または、MongoDBドキュメント。