将Mongoose对象保存为两个集合

Dav*_*len 6 mongoose mongodb node.js

目前我有一个节点应用程序,它使用mongoose将对象保存到MongoDB中.我使用的是类似的模型:

var mongoose = require('mongoose')
    , Schema = mongoose.Schema;

var RegistrationSchema = new Schema({
        name:{ type: String, default: '', trim: false}
});

mongoose.model('Registration', RegistrationSchema);
Run Code Online (Sandbox Code Playgroud)

这将我的对象保存到一个名为注册的集合中.

我保存我的注册:

var registration = new Registration(data);

      registration.save(function(err) {
        if (err) {
          return callback({
            source: 'data_save',
            type: 'admin',
            errors: err
          });
        }
        else {
          return callback(null, data);
        }
      });
Run Code Online (Sandbox Code Playgroud)

我还想在创建它时将这个相同的对象保存到另一个具有不同名称的集合中,例如registrations_new,或者那种效果.我想将此条目复制到新集合中.我试图添加其他集合连接字符串,它完全打破了蒙戈部分,我试图创建一个名为New_Registration新模式,加载模式,并尝试单独保存它,但我还有一个问题这一点.似乎Mongoose将模式与集合配对,并且实际上没有办法覆盖它保存的集合.

有人有任何解决方案吗?

Joh*_*yHK 10

您可以在多个模型中使用相同的模式,因此这样的工作原理:

var RegistrationSchema = new Schema({
    name:{ type: String, default: '', trim: false}
});

var Registration = mongoose.model('Registration', RegistrationSchema);
var New_Registration = mongoose.model('New_Registration', RegistrationSchema);

var registration = new Registration(data);
registration.save();

var new_registration = new New_Registration(data);
new_registration.save();
Run Code Online (Sandbox Code Playgroud)