MongoDB

前戲:
  啓動Mongodb
  mongod --dbpath "數據庫目錄"
  默認端口 27017python

  show dbs 查看全部存在磁盤上的數據庫
  show tables 查看當前數據庫存在磁盤上的數據表mysql

  use 數據庫 建立數據庫或切換數據庫sql

  ######使用了不能存在的對象即建立該對象######mongodb

  數據庫.表名 建立表數據庫

概念:數組

Mysql:
    id      name    age        duixiang    hobby
    1        jwb        73        2            2
    2        ywb        84        1            null

MongoDB:ui

[
        {
            "id":1,
            "name":"jwb",
            "age":73,
            "hobby":["ywb","lwb"],
            "duixiang":{
                "id":2,
                "name":"ywb",
                "age":84
            }
        },
        {
        
            "id":2,
            "name":"ywb",
            "age":84,
            "duixiang":{
                "id":1,
                "name":"jwb",
                "age":73,
            }
        }
    ]

mysql                         mongodb
數據庫                        數據庫
表                               collections
列                               Field
row                             documentsspa

數據增刪改查
增長 insertunix

  #db.user.insert({"id":1,"name":"jwb","age":73})

官方推薦寫法code

  db.user.insertMany([{}])
  db.user.insertOne({})

查看 find

db.user.find()
db.user.findOne({})

db.user.find({"id":2,"age":85}) 並列條件
或條件:
$or : db.user.find({$or:[{age:73},{name:"ywb"}]})

同一個字段的 或條件
$in : db.user.find({age:{$in:[73,84,86]}})
子集檢索
db.user.find({what:{$in:[2,1]}})

$all : 知足全部條件
db.user.find({what:{$all:[2,1,3]}})

數學比較符:

$gt : 大於 db.user.find({age:{$gt: 73}})
$gte: 大於等於
$lt : 小於
$lte: 小於等於
$eq : 等於 
:也是等於

 

"_id" : ObjectId("5c3e84cf1e235402547fa40c")

更新:update 修改器 $set

#db.user.update({"age":84}, {$set:{"username":"jinjiaodawangba"}})

官方推薦寫法:
db.user.updateOne({"name":"jwb"},{$set:{"age":99}})
db.user.updateMany({"name":"jwb"},{$set:{"age":99}})

刪除:remove / delete

#db.user.remove({"age":85})

官方推薦寫法:
db.user.deleteOne({"name":"jwb"})
db.user.deleteMany({"name":"jwb"})

$修改器:

$set : 暴力修改 
$unset : 暴力刪除字段 db.user.updateOne({"name":"ywb"},{$unset:{"hobby":1}})
$inc : 引用增長 在原有值的基礎上增長 db.user.updateMany({},{$inc:{age:1}})

array修改器:
$push 增長元素 :db.user.updateOne({"name":"ywb"},{$push:{"hobby":"jwb"}})
$pull 刪除元素 :db.user.updateOne({"name":"ywb"},{$pull:{"hobby":"jwb"}})
$pushAll 迭代增長 :db.user.updateOne({"name":"ywb"},{$pushAll: {"hobby":[1,2,3]}})
$pop 刪除最後一條數據/第一條 :
最後一條 db.user.updateOne({"name":"ywb"},{$pop:{"hobby":1}})
第一條 db.user.updateOne({"name":"ywb"},{$pop:{"hobby":-1}})

$ 字符:
["hj","tt",1,2] # {"hobby":"hj"} hj 是hobby列表中的第0個元素 就把 0 這個數據放在了 $ 中
db.user.updateMany({hobby:"hj"},{$set:{"hobby.$":"喝酒"}})

###### $ 存儲符合條件的元素下標索引 ######

Object操做

db.user.updateOne({"kecheng.name":"python"},{$set:{"kecheng.price":19800}})
db.user.updateOne({"kecheng.name":"python"},{$inc:{"kecheng.price":500}})

Array中的Object
db.user.updateOne({"hobby.age":84},{$set:{"hobby.$.age":73}})

Object中的Array
db.user.updateOne({"kecheng.class":15},{$set:{"kecheng.class.$":20}})

數據類型:
  ObjectID :Documents 自生成的 _id

  String: 字符串,必須是utf-8
  Boolean:布爾值,true 或者false (這裏有坑哦~在咱們大Python中 True False 首字母大寫)
  Integer:整數 (Int32 Int64 大家就知道有個Int就好了,通常咱們用Int32)
  Double:浮點數 (沒有float類型,全部小數都是Double)

  Arrays:數組或者列表,多個值存儲到一個鍵 (list哦,大Python中的List哦)
  Object:若是你學過Python的話,那麼這個概念特別好理解,就是Python中的字典,這個數據類型就是字典
  Null:空數據類型 , 一個特殊的概念,None Null

  Timestamp:時間戳
  Date:存儲當前日期或時間unix時間格式 (咱們通常不用這個Date類型,時間戳能夠秒殺一切時間類型)

 

MongoDB中的跳過選取排序:
  skip(5) 跳過五條數據
  limit(5) 只顯示五條數據
  分頁 skip(5).limit(5)

  sort({age:1}) 正序
  sort({age:-1}) 倒序

  pymongo排序 sort("key",pymongo.AESCENDING = 1)
  ymongo排序 sort("key",pymongo.DESCENDING = -1)

  若是三個關鍵字同時出現  1.sort 2.skip 3.limit

相關文章
相關標籤/搜索