私はマングースに次のスキーマを持っています:
UserSchema = new Schema
username: {type: String, required: true}
GameSchema = new Schema
identifier: String
users: [UserSchema]
ゲーム内のすべてのユーザーが一意のユーザー名を持つようにしたいと考えています。ただし、追加すると
unique: true
ユーザー名の定義に追加すると、ユーザーが存在するゲーム内だけでなく、すべてのゲームで一意性が強制されるようです。また、ユーザーがいないゲームが複数ある場合、次のエラーが発生します。
games.$users.username_1 dup key: { : null }
ユーザー名フィールドにカスタムバリデーターを追加して、そのユーザー名が既に親ゲームの範囲内にあるかどうかを手動で確認しようとしましたが、マングースではバリデーター関数はユーザー名の実際の文字列のみを受け取るため、方法がありませんバリデーター関数で親ゲーム ドキュメントへの参照を取得できないため、ユーザー名がゲーム内で一意であることを確認します。
マングースでこの種の検証を行う方法はありますか?