Node.js--MongoDB简单使用
2019-01-21 本文已影响0人
aix91
1. 概念介绍
MongoDB是非关系型数据库,只有key-value对。
概念对比
mysql | MangoDB |
---|---|
数据库 | 数据库 |
表 | 集合(数组) |
行 | 对象 |
2. 安装
- mac
brew install mongodb
3. 开启, 关闭MongoDB
- 开启服务器:
mongod --config /usr/local/etc/mongod.conf
- 停止:
Ctr+C
- 连接数据库
mongo
4. 基本命令
- show dbs: 显示所有数据库
- db:查看当前所处的数据库
- use db: 切换到指定数据库
- db.[集合名称].insert([对象]):向指定集合中插入一个对象
- show collections:显示数据库下的集合集
- db.[集合名].find(): 获取集合下的对象
5. node中使用MongoDB
- 安装mongoose
npm i mongoose
var mongoose = require('mongoose')
mongoose.connect('mongodb://localhost/test',{useMongoClient:true});
mongoose.Promise = global.Promise;
var Cat = mongoose.model('cat',{name:String});
var kitty = new Cat({name:"hi"});
kitty.save(function (err) {
if(err){
console.log(err)
}else{
console.log("hi")
}
})
6. schema
mongodb对象的插入比较自由,这样给后续的处理带来不便。可以通过schema来限定插入的对象。
- 定义约束
//创建约束
var Schema = mongoose.Schema
var schema = new Schema({
username: {
type: String,
require: true
},
password: {
type: String,
require: true
},
email: {
type: String
}
})
- 根据约束创建数据库
//根据约束创建Model,也就是数据库->数据库名字是:users
var User = mongoose.model('User', schema)
var users = new User({
username: "test",
password: "123",
email: "2333@com"
})
7.查询数据
- 查询所有
User.find(function (err,ret) {
if(err){
console.log("error")
}else{
console.log(ret)
}
})
- 按条件查询
User.findOne({username:'test'},function (err,ret) {
if(err){
console.log("error")
}else{
console.log(ret)
}
})
8. 更新 、删除
- 删除
User.remove({username:'test'},function (err,ret) {
if(err){
console.log("error")
}else{
console.log(ret)
}
})
- 更新
User.update({username:'test'},{password:"9999"},function (err,ret) {
if (err) {
console.log("error")
} else {
console.log(ret)
}
})