参考链接:
mongode
它和我们使用的关系型数据库最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主外键约束,没有存储的数据类型约束等等
关系型数据库中有一个 "表" 的概念,有 "字段" 的概念,有 "数据条目" 的概念
MongoDB中也同样有以上的概念,但是名称发生了一些变化,严格意义上来说,两者的概念即为相似,但又有些出入,不过无所谓,我们就当是以上概念就好啦
使用了不存在的对象即创建该对象 1.增加: 官方不推荐写法: insert([{},{},{}]) 官方推荐写法: insertOne({}) insertMany([{},{},{}]) 2.删除: 官方不推荐写法: remove({}) # delete 官方推荐写法: deleteOne({}) deleteMany({}) 3.修改: $修改器 官方不推荐写法: update({},{$set:{}}) 官方推荐写法: updateOne({},{$set:{}}) updateMany({},{$set:{}}) 4.查询 find({条件}) findOne({条件})
$: 存储 符合条件的列表元素的下标索引 hobby.$ : 1 $关键字: $lt $gt $lte $gte $eq : $all 满足所有元素的数据 $all:[1,3,2] $in 满足其中一个元素的数据 $in:[1,2,5,6] $or 满足其中一个字段的数据 $or:[{name:1},{age:2}] $修改器: $set 直接将Key设定为value $inc 将Value加在 Key对应的value上 $unset 删除字段(field) Arrays: $push list.append() 添加元素 $pull list.remove() 删除指定元素 $pop list.pop() 删除最后一个:1 或者 第一个:-1
MongoDB: 表 table Collections 字段 Colum Fields 行 Row Documents db.表名(Collections).操作(参数) $关键字: $lt 小于 $gt 大于 $lte 小于等于 $gte 大于等于 $eq : 等于 针对Field的$修改器 $set 修改器之一 设定 将某Key设定为某值: $set:{name:"alexdsb"} $unset:删除当前的Fields $inc 在原有值基础上增加 {$inc:{age:1}} 在年龄原有基础上加一岁 针对Arrays的$修改器 $push 在Arrays中添加一个元素 {$push: {hobby:"养生"}} 在Hobby中添加一个“养生” $pull 在Arrays中删除一个元素 {$pull: {hobby:"抽烟"}} 在Hobby中删除一个“抽烟” $pop 在Arrays中删除最后一个元素或第一个元素 {$pop:{myczdyy:-1}} 在myczdyy中删除第一个元素 {$pop:{myczdyy:1}} 在myczdyy中删除最后一个元素 db.user.updateOne({name:"yinwangba",hobby:"喝酒"},{$set: { "hobby.$":"啤酒泡枸杞"}}) $ : 存储 满足前置条件列表元素的下标索引 混搭用法: db.user.updateOne({name:"yinwangba"}, {$set:{course:[ {course_name:"Python",score:101}, {course_name:"Vue.js",score:2}, {course_name:"MySQL",score:98}, ]}}) db.user.updateOne({name:"yinwangba","course.course_name":"Vue.js"},{$inc: { "course.$.score":10}}) 查询$关键字: $all #满足所有元素的数据 db.user.find({myczdyy:{$all:[1,3]}}) $in #满足其中一个元素的数据 db.user.find({myczdyy:{$in:[1,3]}}) $or #满足其中一个字段的数据 db.user.find({$or:[{name:"yinwangba"},{age:{$gt:70}}]}) limit(x): 只查询前x条数据 skip(x): 条多前x条数据 sort({ id:-1 }): 根据id字段进行倒序排列:-1 正序排列:1 db.user.find({}).sort({ id:-1 }).limit(3).skip(6)
一.MongoDB 之 丰富多彩的数据类型世界首先我们要先了解一下MongoDB中有什么样的数据类型:Object ID :Documents 自生成的 _idString: 字符串,必须是utf-8Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)Double:浮点数 (没有float类型,所有小数都是Double)Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典Null:空数据类型 , 一个特殊的概念,None NullTimestamp:时间戳Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)看着挺多的,但是真要是用的话,没那么复杂,很简单的哦