Bir firavun faresi kullanıcı şeması tanımladım:
var userSchema = mongoose.Schema({
email: { type: String, required: true, unique: true},
password: { type: String, required: true},
name: {
first: { type: String, required: true, trim: true},
last: { type: String, required: true, trim: true}
},
phone: Number,
lists: [listSchema],
friends: [mongoose.Types.ObjectId],
accessToken: { type: String } // Used for Remember Me
});
var listSchema = new mongoose.Schema({
name: String,
description: String,
contents: [contentSchema],
created: {type: Date, default:Date.now}
});
var contentSchema = new mongoose.Schema({
name: String,
quantity: String,
complete: Boolean
});
exports.User = mongoose.model('User', userSchema);
friends parametresi, Nesne Kimlikleri dizisi olarak tanımlanır. Diğer bir deyişle, bir kullanıcı, diğer kullanıcıların kimliklerini içeren bir diziye sahip olacaktır. Bunun bunu yapmak için doğru gösterim olup olmadığından emin değilim.
Mevcut kullanıcının arkadaş dizisine yeni bir Arkadaş göndermeye çalışıyorum:
user = req.user;
console.log("adding friend to db");
models.User.findOne({'email': req.params.email}, '_id', function(err, newFriend){
models.User.findOne({'_id': user._id}, function(err, user){
if (err) { return next(err); }
user.friends.push(newFriend);
});
});
ancak bu bana şu hatayı veriyor:
TypeError: Object 531975a04179b4200064daf0 'cast' yöntemine sahip değil
[{"$oid": "dfdfsdfsg565ls"},...]
yerine benzeyen bir dizi oluşturur["hkugh87tgkgk", ....]