Ich habe ein Mungo-Benutzerschema definiert:
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);
Der Parameter friends ist als Array von Objekt-IDs definiert. Mit anderen Worten, ein Benutzer verfügt über ein Array, das die IDs anderer Benutzer enthält. Ich bin mir nicht sicher, ob dies die richtige Notation dafür ist.
Ich versuche, einen neuen Freund in das Freundesarray des aktuellen Benutzers zu verschieben:
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);
});
});
Dies gibt mir jedoch den folgenden Fehler:
TypeError: Objekt 531975a04179b4200064daf0 hat keine Methode 'cast'
[{"$oid": "dfdfsdfsg565ls"},...]
["hkugh87tgkgk", ....]