Sails基础之Models层的config/datastores配置

article/2025/9/14 18:22:09

配置与使用

Sails提供并支持多种Models层的存储(https://sailsjs.com/documentation/concepts/extending-sails/adapters/available-adapters),
使用时需要在应用程序项目下安装对应的adapter并且在config/datastores或config/env/production.js下进行配置。
我们可能常用到的adapter可能包括mysql、mongodb和redis,下面我们依次进行安装和配置:

MySQL

安装sails-mysql

npm install sails-mysql --save

配置adapter

在config/datastores下进行配置:

module.exports.datastores = {default: {adapter: 'sails-mysql',//url: 'mysql://user:password@host:port/database',url: 'mysql://root:123456@127.0.0.1:3306/sails',},
};

Model

创建一个测试用的Model

sails generate api about

命令执行后,可以找到api/models/About.js文件,该文件就是About的Model,我们为其增添一些属性:

module.exports = {primaryKey: 'id',//defaults to idattributes: {id: {type: 'number',unique: true,autoIncrement: true,},content: {type: 'string',defaultsTo: 'hello sails',},createdAt: { type: 'number', autoCreatedAt: true, },updatedAt: { type: 'number', autoUpdatedAt: true, },},};

注:这里实际上不需要定义id、createdAt和updatedAt属性,Sails默认在config/models.js已经默认对所有模型给出了这三个属性的默认配置。

测试

启动应用并选择自动生成Model对用的表:

sails lift

Sails通过hook探索到Model的改变,提示你进一步的操作:
图片.png

查看是否数据库中对用的表与表结构:

可以看到与我们的模型匹配一致。

MongoDB

安装sails-mongo

npm install sails-mongo --save

配置adapter

在config/datastores下进行配置:

module.exports.datastores = {default: {adapter: 'sails-mongo',//url: 'mongodb://user:password@host:port/database',url: 'mongodb://127.0.0.1:27017/sails',},
};

Model

id属性修改:
对id属性增加columnName:

 id: {type: 'number',unique: true,autoIncrement: true,columnName: '_id',},

测试

启动应用并选择自动生成Model对用的Collection:

sails lift

由于MongoDB对于Collection操作时不会提前创建对应的Collection结构,因此,我们可以利用Blueprints中提供的create方法,创建一条对应的About数据:
http://127.0.0.1:1337/about/create?content=foo

查询mongodb对应的Collection和数据:

多适配器混用

由于Waterline的特性,Sails支持在Model层混用适配器,比如我们有以下配置:

module.exports.datastores = {default: {adapter: 'sails-mysql',url: 'mysql://root:123456@127.0.0.1:3306/sails',},mongodb: {adapter: 'sails-mongo',url: 'mongodb://127.0.0.1:27017/sails',}};

我们新建一个Model User:

module.exports = {datastore: 'mongodb',attributes: {id: {type: 'number', columnName: '_id',},username: {type: 'string',required: true,allowNull: false,unique: true,},password: {type: 'string',required: true,allowNull: false,},},};

进行测试,查看MySQL和Mongodb内的表与Collection:
通过http://127.0.0.1:1337/about/create?content=foo和http://127.0.0.1:1337/user/create?username=admin&password=123456
查看MySQL:

查看Mongodb:

可以看到我们已经成功的混合使用的不同的适配器。


http://chatgpt.dhexx.cn/article/ymlsxl2A.shtml

相关文章

Sails的简单学习

这里贴出Sails的官方 一.Sails的简单介绍 官网上说: The web framework of your dreams.你梦想中的web框架。 Sails让创建自定义、企业级的Node.js应用的工作变得简单。它模拟了大家熟悉的诸如Ruby on Rails这种框架的MVC设置模式,但是也拥有满足现代…

什么是Sails

Sails的关键字 Realtime MVC Framework for Node.js Node.js Sails采用纯粹的Node.js进行构建,你只需要掌握一门javascript编程语言就可以构建Sails应用程序(Web程序); MVC Framework Sails提供了基于MVC结构组织Web程序的基础…

sublime插件anaconda的设置

在 python 编辑环境下,使用 anaconda 完成一些代码补全和提示 具体设置如下 {//由于Anaconda插件本身无法知道Python安装的路径,所以需要设置Python主程序的实际位置"python_interpreter": "../python.exe",//忽略各种空格不对, 超…

Sublime 插件安装

1、百度搜索 Sublime3,进入 Sublime3 官网下载安装文件 注意:不要走到 Sublime2 的官网去下载,也不要使用 Sublime 的其它中文汉化版本; 2、下载 github 的 Package Control 包,下载地址: https://githu…

Sublime插件安装

1.PackageControl 功能:安装包管理 简介:sublime插件控制台,提供添加、删除、禁用、查找插件等功能 使用:https://sublime.wbond.net/installation 安装方法: CTRL ,出现控制台粘贴以下代码至控制台 …

解决sublime无法下载插件问题

解决sublime无法下载插件问题 最近遇到了无法在sublime下载插件的问题,解决方法如下。 首先下载一个文件,地址如下 https://pan.baidu.com/s/1OlC0q8MwiZ_cEbs56SIwzw,提取码为vef9 下载完成后将其解压 再放入sublime文件夹中 接着点开P…

mac sublime安装插件

sublime 安装插件 需要等待一会,在弹出的新窗口,输入要添加的插件的名称,选择确认就可以了 以 Pretty JSON 插件为例,在将json字符串粘贴到文件之后,使用: control command j 进行格式化 调用搜索栏 shi…

java开发sublime插件_开发者最常用的8款Sublime text 3插件

5. SublimeCodeIntel Sublime​Code​Intel 作为一个代码提示和补全插件,支持Javascript、Mason、XBL、XUL、RHTML、SCSS、python、HTML、Ruby、Python3、XML、Sass、XSLT、Django、HTML5、Perl、CSS、Twig、Less、Smarty、Node.js、Tcl、TemplateToolkit 和 PHP 等…

Sublime Text - SublimeREPL插件的配置

1. 菜单Preferences -> Browse Packages,打开安装组件所在的文件夹,进入文件夹Data\Packages\SublimeREPL\config\Python,打开文件Default.sublime-commands,复制如下代码 { "caption": "SublimeREPL: Pyth…

Sublime常用c语言插件

1. Alignment 按等号对齐,强迫症患者必备 Alignment:选中并按ctrlalta就可以使其按照等号对齐 2. 配色方案Enki或者earthbound 3.A file icon 文件图标 4.CoolFormat:C代码格式化 简单好用的代码格式化工具,相当于简化版的Astyl…

Salesforce开发工具Sublime插件(一)

Salesforce开发工具Sublime插件 1. 下载Sublime 3(这是最新) http://www.sublimetext.com/3 进行脑残试的安装方法,下一步即可. 2.装好后打开.exe 3.安装Package Control 这个东东是一个方便 Sublime text 管理插件的插件,这个强大,把它装上去了&#…

关于Sublime的下载与插件安装

Sublime的中文网http://www.sublimetext.cn/ 下载Sublime Sublime的中文网http://www.sublimetext.com/下载Sublime 下载完成 ctrlShiftp 输入install package,确定,此时等待再次出现搜索框,现在就可以下载插件了,现在直接搜索需要的插件名字…

sublime常用插件及安装方式介绍

Sublime Text 是一个文本编辑器(收费软件,可以无限期试用),同时也是一个先进的代码编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。 Sublime Text具有漂…

sublime 的插件安装

sublime 安装插件的方法有两种,一种是直接下载插件压缩包,放在browse packages 中 还有就是线上安装,就是本次要详细记讲的,写这篇文章主要为了记录下,下次方便查找 sublime的插件安装方法 插件安装:如果在…

Sublime插件安装与提高Verilog编写效率插件推荐

前言 相对于Vivado与Quartus自带的编辑器,使用Sublime可以提高Verilog的编写效率。Sublime是可以自己编写插件并使用的,合理的运用插件可以提高开发Verilog生产力。 一、插件安装 1.打开Sublime,点击【Preferences】、【Package Control】…

Sublime插件推荐

常用插件推荐 Alignment: 自动对齐代码 SublimeLinter 提示编写代码中存在的不规范和错误的写法 Sublime CodeIntel代码提示和补全 Bracket Highlighter代码匹配 SideBarEnhancements 侧栏右键功能增强 ConvertToUTF8,GBK编码兼容 Emmet让编写代码变得简单 HTML-CSS-…

实用的sublime插件集合 – sublime推荐必备插件

插件介绍 Sublime Text 3 安装Package Control 原来Subl3安装Package Control很麻烦,现在简单的方法来了 一、简单的安装方法 使用 Ctrl+`快捷键或者通过 View->Show Console菜单打开命令行,粘贴如下代码: import urllib.request,os; pf = Package Control.sublime-packa…

Sublime插件开发指引【教程导向】

因为工作的原因,会接触到公司自己开发的自动化语言,但是这个语言从开发到现在,一直没有一个匹配的IDE(其实是有一个网页版的IDE,但是不好用没人用),而一直使用Notepad,他们习惯了&am…

专为前端开发者准备的 15 款优秀的 Sublime Text 插件

作者 | IT程序狮链接 | https://www.jianshu.com/p/87fe1139f668 Sublime Text 已成为了目前最流行的代码编辑器之一。它的反应速度、简单易用性以及丰富的插件生态,让众多前端开发者们为之倾倒。 为了帮助开发者们更便捷地使用 Sublime Text ,我们决定制…

sublime上插件的安装与使用

亲测可用,若有疑问请私信 1.插件安装的方式 插件安装方式一:直接安装 下载插件安装包后,把安装包解压到packages目录(菜单->首选项->浏览插件目录)中,完成安装 插件安装方法二:使用pac…