sails连接monogodb数据库
1、全局安装:cnpm install -g sails
2、命令窗口进入项目位置
新建项目:sails new sails_cqwu --fast,选择2(快速建立sails项目)

3、cd进入sails下面项目,npm安装需要的安装依赖包
cd sails_cqwu
cnpm install 注:安装依赖包

4、在sails项目里新建一个文件夹data用来存储数据,进入mongodb安装的bin目录,输入mongod命令启动mongodb数据库,数据存在data文件夹里面
mongod --dbpath F:\webItem\nodejs\sails_cqwu\data

注:monogodb默认端口为27017,如需修改,连接数据库的时候在后面加入端口号,如
mongod --dbpath F:\webItem\nodejs\sails_cqwu --port=2700
5、回到sails项目里,连接mongo数据库
(1)安装需要的包
cnpm install sails-mongo --save
注:如果是mysql数据库,则也需要安装
cnpm install sails-mysql --save
(2)修改数据库文件config->datastores.js文件,如果只用一种数据库,直接写到默认里面
<!--config/datastores.js-->
module.exports.datastores = {
default: {//默认使用MySQL数据库
adapter: 'sails-mysql',
url: 'mysql://user:password@localhost:3306/my_db_name',
},
mongoDb: {//使用mongo数据库
adapter: 'sails-mongo',
url: 'mongodb://root:@localhost:27017/shop'//后面是数据库名
}
};
注:mongodb数据库无需手动创建数据库,在这里写了代码之后系统自动创建
(3)新建model,实际上创建表或集合,我新建了一个news集合
sails generate model news
(4)修改模型文件,在config->models.js
<!--config/models.js-->
schema: true,//严格匹配数据表的模式,
migrate: 'alter',//在尽量不丢失数据的情况下,允许sails修改表的结构
attributes: {
createdAt: { type: 'number', autoCreatedAt: true, },//数据创建时间,自动生成
updatedAt: { type: 'number', autoUpdatedAt: true, },//数据更新时间
//id: { type: 'number', autoIncrement: true, } 注:mysql使用
id: { type: 'string', columnName: '_id' }//mongodb使用,两者只能用其一
}
//允许sails自动添加三个字段,即共有的数据
(5)让某个集合model有单独的模式,常用于mongodb集合,如我自己新建的news表,下面的数据就是news私有的成员(列);
如:<!--api/models/News.js-->
module.exports = {
attributes: {
title:{type:'string',required:true},
author:{type:'string',required:true},
content:{type:'string',required:true},
url:{type:'string',required:true}
},
};
6、在news集合里面创建一条数据,根据console的值判断数据库是否连接成功,params是一个json
var row=await News.create(params).fetch();
res.send(row);
6、进入sails项目目录,启动项目:sails lift,浏览器访问:localhost:1337/admin/manage
注:前端访问端口为项目启动后小帆船下面的端口
sails连接monogodb数据库的更多相关文章
- nodejs要远程连接另一个主机上的monogodb数据库服务器
我的mongodb是装在linux下的. 首先,先添加用户 1.首先在mongodb服务器主机上进行terminal命令行,输入 mongo 2.输入 use admin 进入用户管理数据库 3.db ...
- 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题
起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
前段时间在园子里看到了小蝶惊鸿 发布的有关绿色版的Linux.NET——“Jws.Mono”.由于我对.Net程序跑在Linux上非常感兴趣,自己也看了一些有关mono的资料,但是一直没有时间抽出时间 ...
- PDO连接mysql数据库
1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...
- 【.net 深呼吸】连接Access数据库应注意的几点
本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...
- nhibernate连接11g数据库
我框架的数据映射用 nhibernate连接多数据库,这次又增加了oracle11g,负责开发的同事始终连接不上,悲催的sharepoint调试是在不方便... 下面描述下问题的解决,细节问题有3个: ...
- pycharm连接mysql数据库
新的环境配置pycharm的项目时,发现pycharm不能连接到mysql数据库.由于安了java环境但是还没配置相关的库,并且jetbrains家的IDE一般都是java写的,于是猜想可能是java ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
随机推荐
- python 和为S的连续正数序列
题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久, ...
- 至HDFS附加内容
在最近的项目开发中遇到的问题: 需要产生良好hdfs文件的其他内容.但使用在线版1.0.3.见发现官方文件,于1.0.4支持的文件的版本号之后append 一下是向hdfs中追加信息的操作方法 假设你 ...
- HistCite 引文分析软件的利器
所需工具及网站清单, HISTCITE:DOWNLOAD YOUR FREE COPY. 提交自己的基本信息即可,十分简单: SCI数据库官网(web of science):http://apps. ...
- GetEntryAssembly、GetExecutingAssembly和GetCallingAssembly的区别
GetEntryAssembly获取的是当前应用程序第一个启动的程序,一般就是xxx.exe文件. GetExecutingAssembly获取的是当前执行的方法所在的程序文件,可能是.exe,也可能 ...
- VS2005 编译 Qt4.8.2库,并修正源码中的错误
从昨天开始利用VS2005对Qt4.8.2库进行编译,在编译到某个文件时,总是报错,提示VS的cl.exe和nmake.exe返回致命错误.错误罗列如下: DefaultLocalizationStr ...
- 简明Python3教程 13.面向对象编程
简介 (注: OOP代表面向对象编程,OO代表面向对象,以后全部使用英文缩写) 迄今为止我们编写的所有程序都是围绕函数创建的,函数即操纵数据的语句块.这称作面向过程编程. 除此之外还有另一种组织程序的 ...
- 张量(tensor)的理解
1. 从标量到矢量:携带更丰富的信息 矢,是箭的意思,突出的特点是其指向性. 袋子里有几个球? 3 个,magnitude(幅度,没有单位): 从这到你家多远?3 km(denominate),3 称 ...
- WPF之VLC流媒体播放
原文:WPF之VLC流媒体播放 最近在做关于在WPF使用VLC流媒体播放的问题,现在可以在WPF中实现VLC本地播放了,流播放解决了,在下面的代码中注释流媒体播放那两段代码,更多的在乎大家摸索了^^, ...
- IOS status bar
从iOS7开始,该系统提供2样的管理风格状态栏 由UIViewController管理(每UIViewController我们可以有各自不同的状态栏) 由UIApplication管理(由其统一管理的 ...
- WinRAR 5.50 简体中文正式版发布(20多项改进)
感谢ikimi的投递 流行好用的压缩工具,支持鼠标拖放及外壳扩展,完美支持 ZIP 档案,内置程序可以解开 CAB.ARJ.LZH.TAR.GZ.ACE.UUE.BZ2.JAR.ISO 等多种类型的压 ...