Node.mongoose

简介

mongodb是一款面向文档的数据库,不是关系型数据库,新手熟悉mysql、sqlserver等数据库的人可能入手稍微困难些,需要转换一下思想,可以不需要有固定的存储模式,以文档模型为存储内容相对有更好的扩展性,给我的感觉它更像是一个方便的javascript扩展单元,因为现在我所知的一些功能都可以靠js脚本实现并在数据库中执行。更多查看mongodb官网

命令

mongodb在终端中通过输入命令可查看数据库信息及操作相关数据。
1.show dbs :数据库列表
2.db :当前数据库
3.db.help()/db.xx.help() :帮助,帮助中会列出当前可执行的所有方法名称及简介。
4.网上收集的一些 mongodb基本命令

Node操作mongodb

安装mongoose

1.安装Nodemongodb数据库
2.打开命令行 执行 npm 命令:

npm install mongoose -g 

连接数据库

//获取mongoose模块
var mongoose = require('mongoose');
///获取本地mongodb连接
//connect和createConnection都接受mongodb数据库连接,支持URI或者参数(host,database,port)的形式。
var conn = mongoose.connect('mongodb://localhost/数据库名称');

定义模型

//定义User模型 类似于MVC中的Model
var 模型 = new Schema({
字段名称 : { type: 类型 }
//...
});
mongoose.model(模型名称, 模型);

访问模型

//这里的模型为数据库直接操作的对象
var mongoSchema = mongoose.model(模型名称); 

CRUD

1.添加新数据

//实例化数据模型
var schermaName = new mongoSchema();
//为模型成员赋值
schermaName.字段 = 值;
//...
//执行保存操作
schermaName.save(function(err){
if (err) {
console.log(err);
}
console.log('save success');
});

2.查找

//查找数据
//单条查找使用findone() 返回查找结果集中的第一条数据
schermaName.find({key:value},function(err,docs){
console.log(docs);
});

3.修改数据

schermaName.update(定位数据:{key:value},更改值);

4.删除数据

schermaName.remove(定位数据:{key:value},function(err,docs){
console.log(docs);
});

注意事项

mongoose在与数据库真正建立连接之前便缓存了所有的命令,这就意味着你在定义模型、执行查询时确认与mongodb数据库的连接状态或重新打开数据库连接会抛出异常。

常见异常处理

1.Error: Trying to open unclosed connection.
尝试打开一个没有关闭的数据库连接。(来源:db.open())

接触的还不多,以后有更多的经验继续完善…

原文地址:https://www.cnblogs.com/z-yue/p/5509097.html