大家好,我想实现这样的功能,如有一个mongoose的Schema定义如下:
var UserSchema=new Schema({
id:ObjectId,
tags:[String],
msgbody:String,
sms:Boolean,
age:Number,
createtime:{type: Date, default: Date.now },
bdlocation:BdLocation,
items:[Item]
});
var Item={
id:String,
name:String
};
var BdLocation={
id:String,
area:String,
city:String
};
//data示例值
var data={id:’100’,tags:[‘tag1’,’tag2’],msgbody:’hi’,sms:True,age:30,bdlocation:new BdLocation{id:’200’,area:’area2’,city:’gz’},items:[{},{}]};
function docopy(data){
var user = new UserSchema();
//一般是这样一个个赋值
user.id=data.id;
user.tags=data.tags;
user.msgbody=data.msgbody;
user.sms=data.sms;
user.age=data.age;
user.bdlocation=data.bdlocation;
user.items=data.items;
//但如果字段多就比较麻烦,效率也不高,请问有没有一些函数可以完成这样的动作。
user=copyValue(data); //不知是否存在这样的一个copy函数???
//或这种需求请问如何实现比较好??谢谢!
user.save(function(err){
if(err){
console.log(err);
}
});
}