【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!
1.应用场景:
操作使用MongoDB数据库
2.实现目标:
使用终端Shell命令操作MongoDB数据库
3.代码说明:
3.1 数据库服务(mongod 命令)
- 创建文件(保存数据) 在想要保存数据的位置,创建一个文件夹(data)
mongod --dbpath /data(data文件夹路径)
回车
最后一句出现
waiting for connections on port 27017
则启动服务成功
- 连接数据库
(!!第一步的shell窗口不要关,否则就连接不上了!!)
mongo --host 服务器地址 --port 端口号
3.2 数据库操作的命令行工具
3.2.1 基本查看命令
- 查看所有的数据库列表
show databases;
- 切换到指定的数据库
use 数据库名称;
- 查看当前数据库中所有的集合(Mysql中的表)
show collections;
3.2.2 实现增删改查
(!!在mongodb中进行数据操作的时候,不需要提前创建数据库和表结构!!)
(前提知识:命令行中有一个全局的对象db
,这个对象就表示当前正在使用的数据库)
- 创建一个新的数据库(无需创建-直接用就行)
- 直接
use 新的数据库名称
- 这个数据库会在第一条数据添加进去的时候创建出来
- 给集合中添加数据
- 如果集合不存在,则会自动创建
- 2.如果集合存在,则会将数据添加到对应的集合中
db.集合名称.insert(对象);
``db.集合名称.insertMany(对象) //一般为数组[{},{}]
- 获取当前集合中的所有数据
db.集合名称.find()
- 条件查询
db.集合名称.find(条件对象)
如下示例:
查找age等于18的用户:
db.users.find({age:18})
查找age>=18的用户:
db.users.find({age:{$gte:18}})$lt:小于 $gt:大于 $eq:等于 $lte:小于等于 $gte:大于等于 $ne:不等于 $in:在数组中选择符合的都会被查出来 //db.users.find({age:{$in:[18,20]}}) 年龄为18和20的用户 $nin:
多个条件查询,多写属性即可
- 删除数据
db.集合名称deleteOne(条件对象)
///如满足条件的有多个,则只删除第一个!
db.集合名称.deleteMany(条件对象)
///一般为数组[{},{}]
- 修改数据
db.集合名称.updateOne(条件对象,操作对象)
db.集合名称.updateMany(条件对象,操作对象)
/// 需求:将集合中所有叫小明的用户年龄修改成18岁
db.users.updateMany({name: "小明"}, {$set: {age : 18, ...}})
网友评论