回到目录

上一讲说了在sails里定义model及相关参数的说明,这一讲主要说一下如何将你的Model持久化到文件,关系数据库和Nosql数据库里,在持久化这点上,sails是统一管理的,它可以在/config/model.js里设置全局的持久化方法,而且它还可以进行多种介质持久化的并存,如你想让mysql和mongodb并存,只要在指定的/model/实体.js类中,进行设置即可,如下面代码将actionjob这个表持久化到mongodb里

//actionJob.js
module.exports={
connection:"someMongodbServer", //持久化到mongodb里
attributes:{
content: {
type: 'string',
size:
},
userId:{
type:'integer' }
}
};

对于数据的持久化主要分为以下几个步骤,下面一一讲解

1 安装缺失的驱动,默认来说mongodb和sqlserver都需要进行安装,npm install 命令

aaarticlea/png;base64,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V/eoltJ62FUePMGFN5BDJgJyGONCG8ghEwE5jHGhDeSQiUoDuXxTigM5jMtiIIdMVGLImXAOyGFcFgM5ZKKhQq44W4IBOYzLYiCHTDRsyPVULssAcmG2Aj8rwRaQw7gsBnLIRCODnGVZ2vIk9ZvBYH91Op58B8hhXBoDOWSicYfc/uq0sl2Wl1sVyGFcFldmZ+7d27h7+XKrLf9ut1uOQwklXUtGADl1G3xLlC9cOK91cG7/kIvmFO8IyGGMy+KNext3nbvtjttwWq87bsNptTvt1maLEkq6lox7JNfZmpdyiUuFXtn3319/y3qrds9T7a3fv1d77/dhATrrqtfrd+7cuXr16u3bt2/evHnjxo0vv/zyiy+++Pzzz69fv37t2rWrV6/euXPnL3+eu52qW7f+ab9z8fbt27duXfzA+qP9zu+qllW1rA8u3ko/sSdVq1XtKJLK89TGlYWFi2trVxbevrSWd8mHH/7j4cO7jt1wxW9wu+U4m67booSSriVjDzl1xtKL6kLIic83Dn3dmLMsay78Hp117e7uuq57//79vb29p0+fPnny5Ntvv/3mm2+azebjx493dnbu37/vuu7Spb/upeqZc/Hmg2d7e3vPnjnXLOvjiw/29vaePbj48R8u/ufZM3HM4uJieiVdtbi4eHh4uKhKlAz8Sj103r98+fL771+++90gShzbDmeg3IbtOJRQkqWkZE9Xmh+DUE969erVmzdvdnd3T09Pf/vtt19++eXnn38+Ojp6+fLlixcvnj9/vru7++bNm0//9vFpqp68++6Tk5PT09OTk6c754LPm19b3udcZPIrZqK2+LvZbTTcTrvliK+UUFKEkjP6nhxCGZUL5CIwe/Ku9fXmyenp6cnTT9bOffKTX76yslJSyAmJ9RBKKClUSbl3PAFyaNAaBOROTp7unLNWLMu2zu08zS2MGznkECqgSgM5hEaivKYrMyLKvIa+J0sQGksBOYTSNEzI5atRXzmECiEgh1CayhXJRWob9cVDaPQCcgiliUgOoVILyCGUJiI5hEotIIdQmojkECq1/g8cGrbVUqx+7gAAAABJRU5ErkJggg==" alt="" />

在命令提示窗口输入下面命令进行安装

npm install sails-mongodb
npm install sails-sqlserver

2 添加数据库连接信息/config/connection.js,下面以mongodb和sqlserver为例

someMongodbServer: {
adapter: 'sails-mongo',
host: '192.168.2.21',
port: 27017,
// user: 'username',
// password: 'password',
database: 'TestNodeJs'
},
someSqlServer: {
adapter: 'sails-sqlserver',
host: '192.168.2.71',
user: 'sa',
password: 'zzl123',
database: 'TestNodeJs'
}

3 设置model所使用哪种数据库进行持久化/config/model.js

module.exports.models = {

  /***************************************************************************
* *
* Your app's default connection. i.e. the name of one of your app's *
* connections (see `config/connections.js`) *
* *
***************************************************************************/
//connection: 'localDiskDb',
connection: 'someSqlServer',
// connection: 'someMongodbServer',
/***************************************************************************
* *
* How and whether Sails will attempt to automatically rebuild the *
* tables/collections/etc. in your schema. *
* *
* See http://sailsjs.org/#!/documentation/concepts/ORM/model-settings.html *
* *
***************************************************************************/
migrate: 'alter'//自动合并,不清除原来的数据
};

下面对migrate进行一些说明:

  1. safe - never auto-migrate my database(s). I will do it myself (by hand)[不自动合并数据,需要手动控制]
  2. alter - auto-migrate, but attempt to keep my existing data (experimental)[与老数据自动合并,当添加新字段后,数据表才会被删除,推荐使用]
  3. drop - wipe/drop ALL my data and rebuild models every time I lift Sails[删除数据表,建立新表,插入新数据]

通过上面的设置之后,运行你的app.js,如果没有出现错误,说明你的数据就可以持久化了,呵呵!

小知识:

Mongodb它对自动创建数据库和数据表

Sqlserver它需要手动选建立数据库,数据表自动建立

注意:

你的项目在进行github之后,一般情况下node_modules文件夹不会被管理,即你下载的npm包包没有被管理,这时在异地从github上下载源码后,可以在命令行上输入npm install命令,自动让npm根据你的package.json文件下载所需要的包包!

回到目录

Node.js与Sails~Model和ORM的持久化的更多相关文章

  1. Node.js与Sails~Model数据模型

    回到目录 对于Sails来说,它的Model与数据库对应,不过它并没有采用目前比较流行的poco贫血模型,而是采用了类似DDD的充血模型,即它的数据实体里即有数据库字段(属性)而且还有方法,而模型里的 ...

  2. Node.js与Sails~项目结构与Mvc实现

    回到目录 Sails是一个Node.js的中间件架构,帮助我们很方便的构建WEB应用程序,网址:http://www.sailsjs.org/,它主要是在Express框架的基础上发展起来的,扩展了新 ...

  3. 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

    Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...

  4. Node.js与Sails~自定义响应体responses

    回到目录 在Node.js里,你可以控制请求和响应,自己可以定义自己的响应方式,如对文本如何响应,对json如何响应,对图像流如何响应等等,而这些在Sails架构里,变得更加容易和清晰了,它位于项目的 ...

  5. [转]在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

    本文转自:https://www.cnblogs.com/kongxianghai/p/5582661.html Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用Ja ...

  6. Node.js之sails框架

    先开一坑,有空更新,记录最近钉钉项目上对node及sails框架的学习记录和理解

  7. Node.js与Sails~日志机制log

    回到目录 看到Sails的日志就会想起来log4net,确实它们在很多地方是相似的,都是采用分级别记录的方式,而sails我觉得在使用上更加方便,它不需要我们做多于的事情,直接sails.log.级别 ...

  8. Node.js与Sails~方法拦截器policies

    回到目录 policies sails的方法拦截器类似于.net mvc里的Filter,即它可以作用在controller的action上,在服务器响应指定action之前,对这个action进行拦 ...

  9. Node.js与Sails~中间查询语言Waterline

    回到目录 上讲主要说了如何配置sails的持久化机制,这讲主要说一下实现持久化时的增删改查的语法,在sails里使用了和mongodb风格类似的waterline查询语言,使用简单,语法生动,下面我们 ...

随机推荐

  1. CSS clear清除浮动

    1.CSS中的clear有四个参数: none:允许两边都可以浮动. left:不允许左边有浮动. right:不允许右边有浮动. both(默认):不允许有浮动. 2.一开始在CSS中clear浮动 ...

  2. 百度贴吧python吧抓取用户名和图片

    原理就是将贴吧条数中的用户提取出来并在此爬取用户中的图片 #!/usr/bin/env python #coding:utf-8 import requests import urllib2 impo ...

  3. Android最大可运行内存

    int maxMemory = (int) Runtime.getRuntime().maxMemory();

  4. 积木大赛 noip2013提高组day2

    这道题一开始想到处理中间是0的位置,但这样时间太慢了,后来想到一种类似二分的方法,就是把这一段的最小值找到,全部减去最小值,然后有0一出现,就又递归处理前一段,每次答案就加上这一段的最小值: AC代码 ...

  5. java轻量级Http Server

    lighttpd 官方主页:www.lighttpd.netLighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全.快速.兼容性好并且灵活的web server环境 ...

  6. C# 委托学习笔记

    接触委托 代理 delegate很久啦.除了看API,Kotoba也给我讲了 .说到委托,拿下面这个小例子比较好.(14年6月26花花给我的练习) 实例:写一个方法A,定义个方法B(打印hello), ...

  7. H5 canvas填充文字自动换行

    canvas是H5中非常重要,非常常用,也是非常强大的一个新标签,美中不足的事,canvas中没没有自动换行的属性,我的第一反应是,字符串截取,然后计算每行的距离来实现自动换行.. 然后百度了一下,已 ...

  8. [XAF] How to hide individual navigation items and groups for certain users

    https://www.devexpress.com/Support/Center/Example/Details/E380

  9. Linux下多路径multipath配置

    一.multipath在redhat 6.2中的基本配置: 1. 通过命令:lsmod |grep dm_multipath  检查是否正常安装成功.如果没有输出说明没有安装那么通过yum功能安装一下 ...

  10. 一些有用的Javascript Function :-)

    1.验证完整的日期格式:(yyyy-MM-dd)function checkDate(RQ) { var date = RQ; var result = date.match(/^(\d{1,4})( ...