問題タブ [findandmodify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - Mongodb findAndModify と redis incr
MongodbのfindAndmodifyとredisのインクリメントコマンドが速度の点でどれだけ優れているか疑問に思っています。Mongodb findAndModify がドキュメントに対して ar/w ロックを実行することは知っていますが、100 個のスレッドが同時に書き込みを試みている場合、redis がより好ましいオプションであるかどうか疑問に思っていました。
mongodb - 作成された新しいオブジェクトと見つかったオブジェクトをmongoで区別する方法
mongo docsによると、返されたオブジェクトには lastErrorObject が含まれている必要があります。これは、updatexisting を介して、オブジェクトが新しいか古いかを示す必要があります。このオブジェクトが表示されません。作成された新しいオブジェクトと見つかったオブジェクトを区別するためにクエリを修正するにはどうすればよいですか?
私は何を間違えましたか?
mongodb - さらに別の MongoDB findAndModify
ランタイム コレクションの一部である次のドキュメントを検討してください。
私の目標は、キー「20」を持つ「features」配列の要素の値を更新することです。これが私が試したことです(mongoシェルで):
すべてのインスタンスで、シェルは null を出力し、データには何も起こりません。したがって、主な問題は、もちろん、私のコード スニペットの何が問題なのかということです。また、その「null」はどのように解釈されるはずですか? そして、手がかりを見つけることができるモンゴシェルのログのようなものはありますか? 助けてくれて本当にありがとうございます!
mongodb - 埋め込みドキュメントでの findAndModify の原子性
mongodb のマニュアルには、単一のドキュメントに対するアトミック操作の例があります。
マニュアルには、以下の操作はアトミックであると記載されています。
私の質問は、利用可能なフィールドが埋め込みドキュメントだった場合にどうなるかです。以下のように:
この操作をアトミックに実行できますか? もしそうなら、どのように?
javascript - findAndModify - MongoError: 例外: remove または update を指定する必要があります
配列を更新してドキュメントを返したいと思います。findAndModify 構文は正しいですか?
これを使用しても問題ありませんでした:
c# - MongoDB C# ドライバーでディクショナリ値をインクリメントする
次のオブジェクトがあります。
ActionStats オブジェクトは次のようになります。
次のように FindAndModify を使用して値を更新できるようにしたいと考えています。
ただし、これは 2 番目のインクリメント ステートメントで失敗し、次のスタック トレースが表示されます。
スタック トレース -- System.Number.StringToNumber(String str、NumberStyles オプション、NumberBuffer& number、NumberFormatInfo info、Boolean parseDecimal) at System.Number.ParseInt32(String s、NumberStyles style、NumberFormatInfo info) at MongoDB.Driver.Linq.Utils MongoDB.Driver.Linq.ExpressionVisitor の .BsonSerializationInfoFinder.VisitGetItem (MethodCallExpression ノード
1.Visit(Expression node) at MongoDB.Driver.Linq.Utils.BsonSerializationInfoFinder.Visit(Expression node) at MongoDB.Driver.Linq.Utils.BsonSerializationInfoFinder.VisitMember(MemberExpression node) at MongoDB.Driver.Linq.ExpressionVisitor
) VisitLambda(LambdaExpression ノード) MongoDB.Driver.Linq.ExpressionVisitor1.Visit(Expression node) at MongoDB.Driver.Linq.Utils.BsonSerializationInfoFinder.Visit(Expression node) at MongoDB.Driver.Linq.Utils.BsonSerializationInfoFinder.GetSerializationInfo(Expression node, Dictionary
2 serializationInfoCache) MongoDB.Driver.Builders.UpdateBuilder1.Inc(Expression
1 memberExpression, Int32 値)
サブドキュメントの辞書値を更新するにはどうすればよいですか?
mongodb - MongoDB FindAndModify で新しい情報を含む既存のドキュメント データを使用する
注文が作成されるとき、ドキュメントには次のスキーマがあります。
注文が完了すると、db.collection.findAndModify()
操作が処理されて endTime が設定され、次のようなドキュメントになります。
同じプロセスで、duration
両方の時間を差し引いて計算された order を設定する必要がありますdoc.endTime-doc.startTime
。
1回の操作でこれを行うのに役立つオペレーターまたは手順はありますか? それとも、FindAndModify 操作を 2 回実行する必要がありますか? 1 つは新しいドキュメントを返す新しいデータを設定する操作で、もう 1 つはduration
フィールドを設定する操作です。