在 Node 中操作 MongoDB 数据库
安装:
npm install --save mongoose
基本使用:
var mongoose = require(‘mongoose’);
// 连接 Mongodb 数据库
mongoose.connect(‘mongodb://localhost/test’, { useMongoClient: true });
mongoose.Promise = global.Promise;
// 创建一个模型
// 就是在设计数据库
// 最终会生成一个 cats 集合,而不是 Cat 集合
var Cat = mongoose.model(‘Cat’, { name: String });
// 实例化一个 cat
var kitty = new Cat({ name: ‘Tom’ });
// 持久化保存这个 kitty 实例
kitty.save(function (err) {
if (err) {
console.log(err);
} else {
console.log(‘success’);
}
});
设计 Schema 发布 Model:
var mongoose = require(‘mongoose’);
// 架构,模型
var Schema = mongoose.Schema;
// 连接本机数据库
mongoose.connect(‘mongodb://localhost/demo2’);
// 设计表结构
var userSchema = new Schema({
userName: {
type: String,
required: true
},
password: {
type: String,
required: true
},
email: {
type: String
}
});
// 将文档结构发布为模型
// mongoose.model 方法用来将一个架构发布为 model
// 第一个参数传入一个大写名词参数字符串用来表示数据库名称
// mongoose 会自动根据大写名词字符串生成小写复数形式的集合名称
// 这里的 User 会转为 users
// 第二个参数:架构 Schema
// 返回值:模型构造函数
var User = mongoose.model(‘User’, userSchema);
// 当我们有了这个模型构造函数之后就可以对 users 中的数据为所欲为了
增加数据:
var admin = new User({ username: 'admin', password: 123456, email: 'admin@admin.com' }); admin.save(function (err, ret) { if (err) { console.log('保存失败'); } console.log('保存成功'); });
查询数据:
// 查询所有
User.find(function (err, data) {
if (err) {
console.log(‘查询失败’);
} else {
console.log(data);
}
});
// 按条件查询数据
User.find({
password: ‘123456’
}, function (err, ret) {
if (err) {
console.log(‘查询失败’);
}
console.log(ret);
});
// 按条件查询找到的第一个
User.findOne({
password: ‘123456’
}, function (err, ret) {
if (err) {
console.log(‘查询失败’);
}
console.log(ret);
});
更新
// 根据条件更新所有
Model.update(conditions, doc, [options], [callback]);
// 根据指定条件更新一个
Model.findOneAndUpdate([conditions], [update], [options], [callback]);
// 根据 id 更新一个
User.findByIdAndUpdate(‘5c3c827caac2b02158a6ff96’, {
passsword: ‘654321’
}, function (err, ret) {
if (err) {
console.log(‘更新失败’);
} else {
console.log(‘更新成功’);
}
});
删除数据
// 根据条件删除所有
User.remove({
username: ‘zs’
}, function (err, ret) {
if (err) {
console.log(‘删除失败’);
} else {
console.log(‘删除成功’);
console.log(ret);
}
});
// 根据条件删除一个
Model.findOneAndRemove(conditions, [options], [callback]);
// 根据 id 删除一个
Model.findByIdAndRemove(id, [options], [callback]);
- node 学习(10) -- Nodejs 操作 MongoDb 数据库
- MFC+mongodb+nodejs 数据库的读取与写入操作
- Node.js MongoDB的安装 配置 数据库的CRUD操作 索引 学习笔记文档
- nodejs mongodb好友关系数据库设计与操作
- node.js 中操作mongodb数据库
- nodejs mongoose 操作mongodb 数据库封装
- Node.js对MongoDB进行增删改查操作的实例代码
- Node下的数据库操作——Sequelize
- node 使用 sequelize 操作数据库不完全指北
- node14---分层结构数据库操作
- Node.js的DAO层,关于数据库操作的db.js
- 数据存储之Python操作非关系型数据库MongoDB
- Python操作MongoDB文档数据库
- mongodb操作--文档、集合、数据库、shell
- 【NOSQL】非关系型数据库MongoDB ( 在MVC模式下通过Jqgrid表格操作MongoDB数据 ) .
- Node.js操作Firebird数据库教程
- mongodb初始化并使用node.js实现mongodb操作封装
- 每篇半小时1天入门MongoDB——4.MongoDB索引介绍及数据库命令操作
- python操作三大数据库(二)--------mongodb
- MongoDB 学习笔记(纯数据库操作)