範圍的嵌入文檔的唯一我在貓鼬以下模式:驗證其母公司在貓鼬
UserSchema = new Schema
username: {type: String, required: true}
GameSchema = new Schema
identifier: String
users: [UserSchema]
我要確保在遊戲中的每個用戶都有一個唯一的用戶名。但是,如果我添加
unique: true
的用戶名定義,那麼這似乎爲強制所有遊戲的獨特性,而不僅僅是用戶所在的遊戲中。另外,如果我有超過1場比賽沒有用戶,然後我得到了以下錯誤:
games.$users.username_1 dup key: { : null }
我嘗試添加自定義驗證的用戶名字段手動檢查,如果該用戶名的範圍內已經採取父遊戲,但在貓鼬中,驗證器函數只接收用戶名的實際字符串,所以我沒有任何方法檢查用戶名在遊戲中是否是唯一的,因爲我無法獲得對父遊戲文檔的引用在驗證器功能中。
有什麼辦法可以在貓鼬中完成這種驗證嗎?