He definido un esquema de usuario de mangosta:
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);
el parámetro de amigos se define como una matriz de ID de objeto. En otras palabras, un usuario tendrá una matriz que contiene los ID de otros usuarios. No estoy seguro de si esta es la notación adecuada para hacer esto.
Estoy tratando de enviar un nuevo amigo a la matriz de amigos del usuario actual:
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);
});
});
sin embargo, esto me da el siguiente error:
TypeError: Object 531975a04179b4200064daf0 no tiene método 'cast'
[{"$oid": "dfdfsdfsg565ls"},...]
lugar de["hkugh87tgkgk", ....]