2017-09-08 1 views
0

私はML8とNode.jsを使用しています。ここにあるドキュメント:http://docs.marklogic.com/guide/node-dev/documents#id_68765は、versionIdフィールドを使用してMLで条件付き更新を行う方法を説明しています。MarkLogic node.js - versionId以外のフィールドを使用する条件付きアップデート

しかし、たとえば、別のフィールドで条件付き更新を実行したい場合は可能ですか?

私のシナリオは次のとおりです。私は私の「割り当て」操作のために、今すぐ要素(assignDateは、現在の日付に新しい値がassignedToに設定されるたびに設定されている)assignedToとassignDate

でJSON文書を持っている、私は考え私がドキュメントを読み込んだときから、更新を実行するまでの間に他の誰もassignedTo/assignDateフィールドを変更していないことを確認します。同じ文書内の他のフィールドが更新されているかどうかは気にしません。他のフィールドが更新されている場合は、割り当て操作を続行できます(したがって、文書全体をカバーするのでversionIdのアプローチは使用できません)。

どうすればいいですか?

答えて

2

オプティミスティック・ロックでは、ドキュメントの内容は参照されません。代わりに、バージョンIDは、文書上のタイムスタンプを反映するシステム値です。タイムスタンプを確認する方が文書の内容を読むより効率的です。 (ノード置き換える:

あなたは

  • がたAssignTo/assignDateが
  • がxdmpがない変更されていない文書やチェックを読み込み、更新内容を受信するPOSTリソースサービス拡張を書くことができます)更新内容

ことができます望んでドキュメントのルート、

+0

翔にuld私はNode APIだけではできないことを意味していると思いますか? –

+0

はい、答えが確認しようとしています。 – ehennum

関連する問題