mongodb的相关概念pw【itlike.com】.xmind
RDBMS(关系型数据库)
Mysql、SQLServe、Oracle、DB2······
NoSQL(非关系型数据库)
MongoDB、CouchDB、HBase、Redis······
MongoDB介绍
MongoDB安装
具体可看安装 MongoDB
MongoDB可视化工具
MAC版 NoSQLBooster For MongoDB
WIN版 NoSQL Manager for MongoDB
MongoDB使用
启动MongoDB
添加到 PATH 路径中
export PATH=/usr/local/mongodb/bin:$PATH
启动MongoDB
mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork
基础语句
// 1. 用数据库
use "test"
show dbs
// 2. 查询colleges集合中文档
db.colleges.find();
db.colleges.find({ name: '大数据' });
// 3. 插入文档
db.colleges.insert([{ name: 'C++' }]);
// 4. 更新文档
db.colleges.update({ name: 'Html5' }, { $set: { intro: '打通' } });
// 5. 替换文档
db.colleges.replaceOne({name:'K12'},{name:'大数据'});
// 6. 删除文档的值
db.colleges.update({name:'PHP'},{$unset: {intro: "世界上最好的语言" }});
// 6.1 删除文档
db.colleges.remove({name:'大数据'});
// 6.2 删除所有文档
db.colleges.remove({});
// 6.3 删除集合
db.colleges.drop();
// 7. 添加字段
db.colleges.update({ name: 'Html5' }, { $set: { class: {core:['打通']} } });
// 7.1 数组字段追加值,可以重复
db.colleges.update({ name: 'Html5' }, { $push: { "class.core": '打通1234' } });
// 7.2 数组字段追加值,不可重复
db.colleges.update({ name: 'Html5' }, { $addToSet: { "class.core": '打通12345' } });
// 8. 查找字段
db.colleges.find({'class.core':'打通' });
条件查询
```plsql // 1. 向集合插入10000个文档 for(var i = 1;i<=10000;i++){ db.demo.insert({counter:i}) } db.demo.find(); db.demo.remove({});
var arr = []; for(var i = 1;i<=10000;i++){ arr.push({counter:i}); } db.demo.insert(arr);
// 2. 条件查询 // eq相等,ne、neq不相等,gt大于,lt小于 gte,ge大于等于,lte、le 小于等于,not非,mod求模 db.demo.find({counter:{$gt: 9999}})
<a name="Kja0a"></a>
# 多表查询
```javascript
// 1. 创建company数据库,将itlike和section集合导入到数据库
show dbs
use company
db
db.itlike.insert([
{ cno: '1001', cname: 'HTML5学院' },
{ cno: '1002', cname: 'Python学院' },
{ cno: '1003', cname: 'Java学院' },
{ cno: '1004', cname: 'Go学院' },
])
db.section.insert([
{name:'胡雪',job:'辅导员',wages:10000.0,cno:'1001',bonus:1600},
{name:'赵乐乐',job:'讲师',wages:20000.0,cno:'1001',bonus:2600},
{name:'冯璐璐',job:'辅导员',wages:12000.0,cno:'1001',bonus:1688},
{name:'赵晓雪',job:'辅导员',wages:12000.0,cno:'1002',bonus:1288},
{name:'孙芙蓉',job:'辅导员',wages:10000.0,cno:'1003',bonus:2688},
])
// 2. 查询HTML5学院老师
var cno = db.itlike.findOne({cname: 'HTML5学院'}).cno;
db.section.find({cno:cno});
mongoose
mongoose的基本使用
mongoose的增删查改
- 增
- 查
- 改
- 删
mongoose的其他方法