标签:upd data use tab 删掉 指定 lte document oracel
1、数据库的类型
关系型数据库(SQL):MySQL Oracel DB2 sybase msSQL(微软旗下的SQL Server)
非关系型数据库(NoSQL):MongoDB
2、MongoDB存的是json格式的数据
info = [ {‘id‘:1, ‘name‘:‘aa‘ }, {‘id‘:2, ‘name‘:‘bb‘ }, ]
3、MySQL 和 MongoDB 中的不同
数据库类型 MySQL MongoDB
数据库 database db
数据表 table collections
数据行 row documents
字段 column filed
4、MongoDB 小操作
show dbs 查看所有已经写入磁盘的数据库
use + 数据库名 切换到当前数据库
show tables 查看当前数据库中所有的表
db 查看当前所使用的数据库
MongoDB中如果没有数据,如果直接使用 use + 随便输入 都会提示已经切换到这个数据库,但是show dbs 的时候是没有的,因为这个只是单纯的在内存中创建的,而没有写入磁盘。
***使用不存在的对象即创建该对象
5、MongoDB 的增、删、改、查
增:
db.表名.insert({})
官方推荐:
db.表名.insertOne({})
db.表名.insertMany([{},{},{}])
查:
db.表名.find() 查询所有的
db.表名.findOne() 查询单条数据
改:
db.表名.update({条件},{$set:{数据}})
官方推荐:
db.表名.updateOne({条件},{$set:{数据}}) 更新一条数据
db.表名.updateMany({条件},{$set:{数据}}) 更新所有数据
删:
db.表名.remove({条件})
官方推荐:
db.表名.deleteOne({条件}) 删除一条数据
db.表名.deleteMany({条件}) 删除符合条件的所有数据
清楚collections:
db.表名.drop()
6、$关键字
数学比符
$gt >
$gte >=
$lt <
$lte =<
$eq =
: =
7、修改器
{$set:{name:1}} 简单粗暴的修改,将所有的name修改成1
{$unset{name:1}} 简单粗暴的删除字段
db.user_info.updateOne({age:200},{$unset:{age:1}})
$inc 引用增加
$push : 它是用来对Array (list)数据类型进行 增加 新元素的,相当于我们大Python中 list.append() 方法
做一个小例子 :首先我们要先对原有数据增加一个Array类型的field:
使用update $set 的方法只能为Document中的第一条添加
使用updateMany $set 的方法 可以为所有满足条件的 Document 添加 "test_list" , 注意我这里的条件为空 " {} " 就算是为空,也要写上"{}" 记住记住记住
接下来我们就要队列表进行添加了: 将 "score" 为 100 的Document 中"test_list" 添加一个 6
$push 是在 Array(list) 的尾端加入一个新的元素 {$push : {"test_list" : 6}}
$pull : 有了$push 对Array类型进行增加,就一定有办法对其内部进行删减,$pull 就是指定删除Array中的某一个元素
做一个例子: 把我们刚才$push进去的 6 删除掉
问题来了,如果 Array 数据类型中 如果有 多个 6 怎么办呢?
全部删掉了.....
得出了一个结论,只要满足条件,就会将Array中所有满足条件的数据全部清除掉
$pop : 指定删除Array中的第一个 或 最后一个 元素
做个小例子: 删除"score" 等于 100 分 test_list 的最后一个元素
怎么删除第一个呢?
{$pop:{"test_list" : -1}} -1 代表最前面, 1 代表最后边 (这和我们大Python正好相反) 记住哦
标签:upd data use tab 删掉 指定 lte document oracel
原文地址:https://www.cnblogs.com/wf123/p/10175536.html