1
私はuserSchema
にidと友人の配列を含んでいます。友人の配列は、実際には、ID、性別、および名前を保持する別のスキーマの配列です。つまり、SubDocumentsの配列です。サブ文書を含む配列のaddToSet相当
var attributesSchema = new Schema({
id: String,
gender: String,
name: String
})
var userSchema = new Schema({
id: {
type: String,
unique: true,
required: true
},
Friends: [attributes]
});
前に、私はFriends
がString
のアレイに等しく持っていました。 AddToSet
は、異なる文字列値を持たない限り、Friends
配列に何かを追加しないので、問題なく動作します。しかし、サブ文書では、残念ながら、addToSetは何かが重複しているかどうかを判断することはできません。
次られたサブ文書を複製しないで私の試み:
明らかUser.update({
id: req.body.userId
}, {
$addToSet: {
Friends: {
id: req.body.friendId,
gender: req.body.gender,
name: req.body.name
}
}
});
、これは動作しませんし、私はFriends
配列内のユニークなサブ文書を追加する方法を探しています。
を持っている場合は、
$elemMatch
にフィールドを追加することができます柔軟モンゴがどのようにクレイジーその演算子と一緒に。ありがとう、男! – Ryan