通过没有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} ) }