1.终端1 开启mongodb服务 ---- 服务端
mongod --dbpath D:\codeSoft\MongoDB\mongoDBdata
dbpath 后面跟的是数据的存储路劲
终端2 连接mongodb服务 ---- 客户端
mongo
2.常用命令
show dbs 查看当前数据库
use 数据库名称 切换到指定数据库(若无当前数据库,会新增数据库)
db.user.insert({"name":"zhangshan"}) 向指定数据库下的user表(集合)插入一条数据(若无当前集合会先创建)
show collections 查看当前数据库下的集合(表)
db.表名(集合).find() 查询集合所有记录
按条件查询:
1. age = 22; db.user.find({"age": 22})
2. age > 22; db.user.find({"age": {$gt: 22}})
3. age < 22; db.user.find({"age": {$lt: 22}})
4. age >= 22; db.user.find({"age": {$gte: 22}})
5. age <= 22; db.user.find({"age": {$lte: 22}})
6. age = 22并且name = 'zhangsan'; db.user.find({"age": 22, "name": "zhangsan"})
7. 20<age <= 22;db.user.find({"age": {$lte: 22, $gt:20}})
8. 只查询出name字段(指定列);db.user.find({}, {name: 1});
9. 只查询age>25的name字段;db.user..find({age: {$gt: 25}}, {name: 1});
10. 升序:db.user.find().sort({age: 1});
11. 降序:db.user.find().sort({age: -1});
12. 查询前 5 条数据;db.user.find().limit(5);
13. 查询 10 条以后的数据;db.user.find().skip(10);
14. 查询在 5-10 之间的数据; db.user.find().limit(10).skip(5); -- 分页
15. or 与 查询;db.userInfo.find({$or: [{age: 22}, {age: 25}]});
16. findOne 查询第一条数据;db.userInfo.findOne();
17. 查询某个结果集的记录条数 统计数量;db.userInfo.find({age: {$gte: 25}}).count()
模糊查询:①name包含文章 db.user.find({name: /文章/})
②name以文章开头 db.user.find({name: /^文章/})
修改数据:1. 查找名字叫做小明的,把年龄更改为 16 岁;
db.student.update({"name":"小明"},{$set:{"age":16}});
2.完整替换,不出现$set 关键字了: 注意
db.student.update({"name":"小明"},{"name":"大明","age":16});
删除:1.删除表(集合):db.user.drop();
2.删除数据库:db.dropDatabase(); 需要切换到当前表
3.删除数据:db.users.remove({age: 132});
索引:1. 设置索引:db.user.ensureIndex({"username":1}) 增加查询速度
2. 获取当前集合的索引:db.user.getIndexes()
3. 删除索引:db.user.dropIndex({"username":1})
4.设置复合索引:db.user.ensureIndex({"username":1},{"name":"userindex"})
5.设置唯一索引:db.user.ensureIndex({"userid":1},{"unique":true})