通过没有ObjectId的mongoose更新条目

我有一个Mongoose模式定义为

var mongoose = require('mongoose'); var Schema = mongoose.Schema; var userSchema = new Schema({ user_id: String, event_organizer: [String], }); module.exports = mongoose.model('User',userSchema); 

现在,我有一个函数,我希望将这个用户的ID添加到一个事件。 当然,这个事件已经在DB中出现了。

 function addUserToEvent(user_id, event_id) { } 

如何添加一个event_id到架构中定义的用户的event_organizer数组?

数组可能已经被填充,我需要附加这个id,而不是重置它。

这是如何将元素追加到现有文档中的数组:

 Document.update( {_id:existing_document_id}, {$push: {array: element}}, {upsert: true} ) /*upsert true if you want mongoose to create the document in case it does not exist*/ 

对于您的具体情况:

 function addUserToEvent(user_id, event_id) { User.update( {_id:user_id}, {$push: {event_organizer: event_id}}, {upsert: true} ) }