我有mongodb坐在现有的API后面,想要迁移API以使用sailsjs。
数据结构并不疯狂 - 只是使用默认mongodb ObjectIds作为主键的标准内容。
通过连接帆模型,我是否可以将这个现有数据库与风帆一起使用?我需要指定_id字段吗?如果是这样,我应该使用什么数据类型?
E.g。具有以下模式的用户集合的现有mongodb:
_id
name
fname
lname
age
我可以直接使用以下内容连接它吗?:
// User.js
var User = {
attributes: {
name: {
fname: 'STRING',
lname: 'STRING'
},
age: 'INTEGER'
}
};
module.exports = Person;
答案 0 :(得分:0)
首先:你不必定义_id(水线为你做这个)
Waterline希望帮助您为所有类型的数据库使用相同的函数和模型。例如,mysql中不支持“子字段”。所以这不起作用。
你可以这样做:
// User.js
var User = {
attributes: {
name: 'json',
age: 'integer'
}
};
module.exports = User;
如果您想验证“名称”,可以添加自己的验证:
// User.js
var User = {
types: {
myname: function(json){
if(typeof json.fname == "string" && typeof json.lname == "string"){
return true;
}else{
return false;
}
}
},
attributes: {
name: {
type: "json",
myname: true
},
age: 'integer'
}
};
module.exports = User;