如何克隆Mongoose架构?

时间:2015-11-13 15:27:27

标签: node.js mongodb mongoose

我正在研究Mongoose插件,它必须访问现有模型并创建与之前模型类似的模式,并修复一些属性并添加一些自定义属性。怎么做这样的克隆计划?我试过但它不起作用:

material.lightmap = someLightmapTexture

当然,它根本不起作用,我无法在API文档和源代码中找到任何解决方案(至于我可以阅读该代码)。

3 个答案:

答案 0 :(得分:3)

对于Google上的任何人,请尝试:

schema.clone();

这会创建架构的完整副本,因此您可以添加更多属性,多个鉴别器等。

http://mongoosejs.com/docs/api.html#schema_Schema-clone

答案 1 :(得分:2)

首先将架构分配给常规对象:

var mongoose = require('mongoose');

var schemaObj = {'prop' : String}
var mainSchema = new mongoose.Schema(schemaObj);
var anotherSchema = new mongoose.Schema(schemaObj);

答案 2 :(得分:2)

此插件将为您完成 mongoose-schema-extend

通过NPM安装:

$ npm install mongoose-schema-extend

使用示例:

var mongoose = require('mongoose'),
    extend = require('mongoose-schema-extend');
var Schema = mongoose.Schema;

var mainSchema = new Schema({'prop' : String});
var anotherSchema = mainSchema.extend({'customProp': String});