Javascript 预先定义对象的结构
我在user.js文件中重用了一个使用mongodb的项目,其中模式定义如下Javascript 预先定义对象的结构,javascript,mysql,mongodb,object,Javascript,Mysql,Mongodb,Object,我在user.js文件中重用了一个使用mongodb的项目,其中模式定义如下 var mongoose = require('mongoose'); var userSchema = mongoose.Schema({ local : { email : String, password : String, }, facebook : { id : String, token : String,
var mongoose = require('mongoose');
var userSchema = mongoose.Schema({
local : {
email : String,
password : String,
},
facebook : {
id : String,
token : String,
email : String,
name : String
},
twitter : {
id : String,
token : String,
displayName : String,
username : String
},
google : {
id : String,
token : String,
email : String,
name : String
}
});
module.exports = ('User', userSchema);
当我使用mysql时,我试图在代码的其余部分保留该对象结构
那么我如何定义这样一个对象,能够实例化它,然后像这样处理它:
var User = require('../app/models/user');
var newUser = new User();
newUser.local.email = "babab";
newUser.local.password = "bababab";
可能是一个繁琐的问题,但我对javascript对象处理有点迷茫。
您需要的是javascript原型
编辑:这里有一篇专门针对node的文章,
在@kirinthos之后,出现了各种解决方案。我选择最基本的一个(我认为),但欢迎评论和改进: 对象定义
module.exports = Object({
id : String,
local : {
email : String,
password : String,
},
facebook : {
id : String,
token : String,
email : String,
name : String
},
twitter : {
id : String,
token : String,
displayName : String,
username : String
},
google : {
id : String,
token : String,
email : String,
name : String
}
});
对象实例引用:
var User = require('../app/models/user');
var newUser = Object.create(User);
newUser.local.email = "babab";
newUser.local.password = "bababab";