繁体   English   中英

如何克隆猫鼬模式?

[英]How to clone Mongoose schema?

我正在开发Mongoose插件,该插件必须访问现有模型并创建与先前模型类似的架构,并修复一些属性并添加一些自定义属性。 如何克隆这样的方案? 我试过了,但是没有用:

var mongoose = require('mongoose');

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

当然,它根本不起作用,而且我在API文档和源代码中找不到任何解决方案(到目前为止,我可以阅读该代码)。

对于任何使用谷歌搜索的人,请尝试:

schema.clone();

这将创建架构的完整副本,因此您可以添加更多属性,多个标识符等。

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

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

var mongoose = require('mongoose');

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

这个插件将为您完成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});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM