0
私は、友だち(埋め込みドキュメント)のコレクションを管理しているユーザー(ドキュメント)を持っています。私は特定のユーザーのために、すべてのその友人が一意である(電子メールは一意でなければならない)ことを確認しようとしてきました。しかし、その制約は強制ではなく、私はなぜそれを理解できません。誰もそれを私に助けてくれますか?埋め込みドキュメントのコレクション内の一意性を保証する方法
私はMongo 2.2とMongooseを使用しています。
var FriendSchema = new mongoose.Schema({
email : { type: String, required: true, lowercase: true, trim: true }
, name : { type: String, trim: true }
});
var UserSchema = new mongoose.Schema({
email : { type: String, required: true, index: { unique: true }, lowercase: true, trim: true }
, friends : [FriendSchema]
});
UserSchema.index({ 'friend.email': 1 }, { unique: true });
私もこの問題に遭遇しました。 Node.jsでこれを処理させるのは安全ですか?非同期セーブコール中に重複が発生しませんでしたか? – wtjones
はい、実際には別のオプションはありません。チャンスを減らすために2段階の節約のようなことをすることができます。しかし、その日の終わりに、DBがそれを実施しない場合、あなたはこの問題にぶつかるでしょう。 –