MongoDB是一个文件型数据库,介于关系型数据库和非关系型数据库之间,他和咱们使用的关系型数据库最大的区别就是约束性,能够说文件型数据库几乎不存在约束性,没有主外键约束,没有存储的数据类型约束。
Collection也就是关系型数据库中"表"的概念,Documents就是"数据条目",Field就是"字段"
版本:3.4.15
注意配置环境变量,启动服务端:mongod 启动客户端:mongomongodb
启动以前必定要注意在安装的盘符下建立 data/db文件结构数据库
注意:MongoDB中若是你使用了不存在的对象,那么就等于你在建立这个对象数组
数据库与Collection的建立:
建立数据库并使用该数据库:use databaseName
显示当前使用的数据库:db
建立并使用Collection: db.tableNameunix
insertOne:db.Oldboy.insertOne({"name":"DragonFire","age":20})
insertMany:db.Oldboy.insertMany([{"name":"DragonFire","age":20},{"name":"alex","age":30}])对象
db.Oldboy.find({name:"WuSir2b"})
db.Oldboy.findOne({age:19}) : 条件查找一条age等于19的数据,若有多条数据则返回更靠前的数据ip
db.Oldboy.updateOne({"age":19},{$set:{"name":"WSSB"}}) # $set 是update时的关键字,没有name属性及建立name属性utf-8
db.Oldboy.updateMany({"age":19},{$set:{"name":"pig_qi"}})rem
db.Oldboy.remove({"name":"DragonFire"}) : 条件删除name等于"DragonFire"的全部Document字符串
Object ID:Documents 自生成的 _id, 这个类型是不能够被JSON序列化的
String: 字符串,必须是utf-8
Boolean:布尔值,true 或者false,小写
Integer:整数 (Int32 Int64 大家就知道有个Int就好了,通常咱们用Int32)
Double:浮点数 (没有float类型,全部小数都是Double)
Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)
Object:若是你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典
Null:空数据类型 , 一个特殊的概念,None Null
Timestamp:时间戳
Date:存储当前日期或时间unix时间格式 (咱们通常不用这个Date类型,时间戳能够秒杀一切时间类型)get
查询中常见的 等于 大于 小于 大于等于 小于等于
db.Oldboy.findOne({"score":{"$gt:80"}})
db.Oldboy.findOne({"score":{"$lt:80"}})
db.Oldboy.findOne({"score":{"$gte:80"}})
db.Oldboy.findOne({"score":{"$lte:80"}})
update修改器: $inc $set $unset $push $pull
db.Oldboy.update({"score":59},{$inc:{"score":1}}) #"score"的原有数值上面 +1
db.Oldboy.update({"score":60},{$inc:{"score":-40}})
db.Oldboy.update({"score":100},{$set:{"english_name":"LuffyCity"}}) #:把 "score" 为 100 分 的 "english_name" 赋值为 "LuffyCity"
db.Oldboy.update({"score":100},{$unset:{"english_name":1}})
db.Oldboy.updateMany({},{$set:{"test_list":[1,2,3,4,5]}})
db.Oldboy.updateMany
({"score":100},{$push:{"test_list":6}})
db.Oldboy.updateMany({"score":100},{$pull:{"test_list":6}})
db.Oldboy.updateMany({"score":100},{$pop:{"test_list":1}})
{$pop:{"test_list" : -1}} -1 表明最前面, 1 表明最后边
db.Oldboy.updateMany({"score":100,"test_list":2},{$set:{"test_list.$":9}})
先创建一条数据
db.Oldboy.insert({"name":"路飞学城-骑士计划","price":[19800,19500,19000,18800],"other":{"start":"2018年8月1日","start_time":"08:30","count":150}})
把price 中 19000 改成 19300
db.Oldboy.updateMany({"name":"路飞学城-骑士计划"},{$set:{"price.2":19300}})
若是 price.1 中小于19800 则加 200
db.Oldboy.updateMany({"name":"路飞学城-骑士计划","price.1":{$lt:19800}},{$inc:{"price.1":200}})
咱们把 price 小于 19500 的 自动补上 200
db.Oldboy.updateMany({"name":"路飞学城-骑士计划","price":{$lt:19500}},{$inc:{"price.$":200}})
db.Oldboy.updateMany({"price.count":{$gt:175}},{$inc:{"price.$.count":15}})
db.Oldboy.find().skip(1).limit(2)
db.Oldboy.find().sort({"price":1}) #1为升序,-1为降序
Sort + Skip + Limit 是有执行优先级的 他们的界别分别是 优先 Sort 其次 Skip 最后 Limt