回顾
- IO交互
- WEB计算器
非关系型数据库Mongodb
,底层由C++开发出来的,文档型数据库
非关系型数据库没有行与列,Mongodb存储对象是json的一种特殊类型
十大数据库
1.Orcle
2.Mysql
3.Microsoft SQL server
4.Microsoft Access
5.DB2
6.postgreSQL
7.cassandra
8.Mongodb
9.SQLline
10.Redis
Mongodb语句
* show dbs; 查看数据库
* db:数据库,user:集合
* use db;选择数据库
* show collections;查看集合
* db.version();查看数据库版本
* db.getCollectionNames();查看集合名字
* db.getName();查看当前数据
* db.user.insert({"name":"lyc"}); 插入一条数据
* db.user.insert({"name":"lyc":"age":23});插入一条数据
* db.user.insertMany([{''name"":"jim","sex":"male"}])
* db.user.find({age: {$gt: 22}});查询age>22的记录
* db.user.find({age: {$lt: 22}});查询age<22的记录
* db.user.find({age: {$gte: 25}});查询age>= 25的记录
* db.user.find({age: {$lte: 25}});查询age<= 25的记录
* db.user.find({age: {$gte: 23, $lte: 26}});查询age>= 23 并且 age<= 26
* db.user.find({name: /mongo/});like查询
* db.user.find().limit(5);查询前5条数据
* db.user.find().skip(10);查询10条以后的数据
* db.user.find().limit(10).skip(5);查询在5-10之间的数据
* db.user.find({$or: [{age: 22}, {age: 25}]});逻辑或查询
* db.user.find({age: {$gte: 25}}).count();查询总数
* db.user.findOne();查询一团数据
* db.user.find();查询所有数据
* db,user.find().toArray();格式化查询数据为数据
* db.user.find().pretty();格式化查询数据
* db.user.update({name:"lyc22"},{$set:{age:88}});修改数据
* db.user.updata(name:"lyc"),{$set:{“sex”:"man"}},true};原来的集合没有sex的属性,第三个参数为true会添加,默认是false
* db.user.update((name:"lyc"),{$set:{"sex":"man"}},true,true);更改所有符合条件的数据
* db.user.remove({name:"lyc"});删除name为lyc的数据
* db.test.ensureIndex({"username":1});创建索引
* db.test.getIndexes();获取索引
* db.test.dropIndex({"username":1});删除索引
* db.test.ensureIndex({"username":1, "age":-1});数字1表示username键的索引按升序存储,-1表示age键的索引按照降序方式存储。
* db.test.ensureIndex({"userid":1},{"unique":true});唯一索引
* db.test.ensureIndex({"userid":1},{"unique":true,"dropDups":true}) ;创建唯一索引,并消除重复数据
Mongodb的开启
默认启动:
$ ./mongodb
默认数据保存路径:/data/db/
默认端口:27017
修改默认路径:
–dbpath
$ ./mongdb –dbpath /mongodb/
把数据存储位置指向一个自己的目录/mongodb/
Express框架
- ejs模板
vim mongodb.sh
#!/bin/bash
cd /home/nick/mongodb/bin/
./mongodb –dbpath=../nick_db