我可以将模型连接到现有数据库吗?

时间:2014-06-20 09:25:04

标签: sails.js

我有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;

1 个答案:

答案 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;