0

私は 1 つの開始時刻と終了時刻を db.Again に格納しています。同じ開始時刻と終了時刻の間、またはその開始時刻と終了時刻の間を使用して、開始時刻と終了時刻を再度格納することはありません。

例 最初はこのように保存しています

  db.save({"start":1am,"end":2am});

繰り返しますが、私はこのように保存することを許可しません

 db.save({"start":1.15am "end":3pm});

また

  db.save({"start":1am,"end":1.45am});

しかし、このように保存することができます

 db.save({"start":12am ,"end":1am});

または db.save({"start":"3am" "end":4am});

mongodb をどうするか。事前の感謝

4

1 に答える 1

0

新しいオブジェクトを保存する前に、ビジネス ルールを満たしているかどうかを確認する必要があります。挿入/保存ステートメントを条件付けする方法はありません。クエリを実行して、新しいドキュメントと競合する日付範囲を持つ別のドキュメントがあるかどうかを確認してから、新しいドキュメントを保存できます。ただし、DB サーバーではなく、クライアント側で行う必要があります。

ビジネス ルールをチェックするためにサーバーが本当に必要な場合は、サーバーに JavaScript 関数を格納する方法があります。そうすれば、この関数でルールをチェックし、検証に合格した場合にドキュメントを挿入/保存できます。ただし、これは推奨されません。最後の手段として使用してください。サーバーにjavascriptを保存する方法は次のとおりです

于 2013-06-27T15:34:36.340 に答える