MongoDB数据库搭建
MongoDB的基本使用
特点
- 文档数据库
- no SQL数据库
- 一个文档的数据类型可能不同
- 使用BSON存储数据(二进制的jason)
- 支持相对丰富的查询数据库
- 支持索引
- 副本集
- 提升数据库的读取能力
- 分片
- 无模式
- 部署简单方便
- 安全性问题
使用
服务器的启动
mongod --dbpath=文件夹地址 --port=27017
–fork 守护进程的方式启动 要加上–sylog将日志存储在系统日志
终结mongoDB
mongod --shutdown
设置日志位置
--lopath=xx/xx/mongd(xx).log
连接端口
mongo 127.0.0.1:27017
使用数据库
use 数据库名
即使没有数据库,没有行表,但如果use 数据库名
也可以使用
use 数据库后,所有操作已经切换到对数据库的操作
添加数据
(前提已经use)
db.users(集合名).insert({"username":"bamboosir920"});
查看数据库
(前提已经use了一个数据库)
show collections
查看当前集合所有数据
db.users.find()
每个数据都有一个id作为索引
查看数据数量
db.users.find().cout()
查询指定id的数据
db.users.find({"_id":xxxxxxxxxxxxxxxxxxx})
更新语句
将前面的数据修改为后面的数据
一般情况下只修改遇到的第一个满足要求的数据
db.users.updata({"username":"zoe"},{$set:{"group":"write"}});
如果在后面设置true,就可以全部修改
db.users.updata({"username":"zoe"},{$set:{"group":"write"}},{multi:true});
根据id修改值
没有指定,其他值会被删除
db.users.save({"_id:ObjectId("xxxxxxxxx"),"group":"reporter"})
删除值
默认false,删除所有满足条件的数据
db.users.remove({"xxxx":"xxxxxx"})
删除第一个满足条件的值
db.users.remove({"xxxx":"xxxxxx"},true)
条件为空,删除所有
只删除数据,文档还在
db.users.remove({})
删除文档和索引
db.users.drop()
使用Mongoose操作MongoDB
介绍
将node.js的对象与mongoDB的文档数据进行连接
安装
cd目录下 安装
npm install mongoose
此文件下都可以直接使用mongoose
安装在此文件下的node_modules下
var mongoose =require("mongoose");
var uri='mongodb://username:password@hostname:port/databasename';
moogoose.connect(url);
Model Scheme
建立文档和对象的对象
建立为模式化存储
//建立格式
var BookSchema=new mongoose.Scheme({
name:String,
author:String,
publishTime:Date
})
//model命名第一个最好大写
mongoose.model('Book',BookSchema)
插入
var mongoose=requir("mongoose");
//选择model
require('./model.js');
var Book=mongoose.model('Book');
var book=new Book({
name:"booksas",
author:"bamboosir920",
publishTime: new Data()
});
//bokk.name="" 也可以
//检验是否保存成功
book.save(function(err){
console.log('save:',err?'false':'success');
})
查询文档
可查询所有满足条件的文档
var mongoose=require('mongoose');
require('./model.js');
var book =mongoose.model('Book');
book.find({},function(err,docs){
if(err){
console.log('err:',err);
return;
}
consolse.log('result:',docs);
});
返回第一个满足条件的文件
.findOne()
删除文档
var mongoose=require('mongoose');
require('./model.js');
var book =mongoose.model('Book');
book.findOne({author:'jim'},function(err,doc){
if(err){
console.log('err:',err);
return;
}
consolse.log('result:',doc);
if(doc)
{
doc.remove();
}
});
条件
联合条件
或$or
$or:[{author:'jane'},{author:''john}]