我正在研究Mongoose插件,它必须访问现有模型并创建与之前模型类似的模式,并修复一些属性并添加一些自定义属性。怎么做这样的克隆计划?我试过但它不起作用:
material.lightmap = someLightmapTexture
当然,它根本不起作用,我无法在API文档和源代码中找到任何解决方案(至于我可以阅读该代码)。
答案 0 :(得分:3)
对于Google上的任何人,请尝试:
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});