linux下的mongodb數據庫原生操作


mongodb,是一種結構最像mysql的nosql

mysql中的數據庫,mongodb中也有,區別在於,

myql中數據庫下的是表,字段和數據的形式存在

mongodb數據庫下的是叫集合(和python中的集合不是一個概念),文檔,字典的形式存在

而mysql,redis,mongodb,三者的區別:

mysql適合長期保存,可存儲的數據量大,時間長

redis存儲時間短,但調用反應快,時間短,適合一直在不停的變化的數據

mongodb存在於兩者中間,速度一般,保存時間一般,適合一段時間查看一次的數據(個人理解,勿噴)

進入mongodb

mongo

退出mongodb

exit()

查看所有的庫

show dbs

進入數據庫:mongodb沒有創建數據庫的操作,只用進入不存在的庫,然后創建一個集合,數據庫就算建好了

use 庫名

刪除數據庫:必須在進入到了需要刪除的數據庫下,在輸入下面代碼,才能刪除

db.dropDatabase()

進入數據庫后,查看數據庫下的集合

show collections

刪除數據庫下的某個集合

db.集合名.drop()

插入數據到集合中

db.集合名.insert({name:'pywjh', age:22})

查看集合內容:集合中的每條數據都會自帶一條{"_id" : ObjectId("5b73e63943494008f8a8111b"}的系統ID,可以自己聲明ID,不然會系統自動生成

    ID是唯一的,不能重復!

db.集合名.find()


{ "_id" : ObjectId("5b73e63943494008f8a8111b"), "name" : "pywjh", "age" : 22 }

注意:查詢結果最多顯示20條,可以用DBQuery shellBatchSize=30 更改

 

查看集合內容:(自帶美顏的查詢方法)

db.集合名.find().pretty()        也叫美觀查詢

集合中的條件查詢

db.集合名.find({name:'pywjh'})
或者
db.集合名.find({age:22})

都會返回:  { "_id" : ObjectId("5b73e63943494008f8a8111b"), "name" : "pywjh", "age" : 22 }

如果數據較多,只需要查看某些特定的數據內容,可以設置打印內容

db.集合名.find({name:'pywjh'}, {age:1})    
'1'表示布爾值,True 這里是表示搜索name為pywjh的數據,只打印age db.集合名.find({name:'pywjh'}, {age:0})
'0'表示除了age不打印,其余的都要打印

集合中更新數據

  全文檔更新:

db.集合名.update({name:'pywjh'},{xxx:'yyy'})
前一個大括號表示搜索數據位置,后一個大括號表示更新內容, 全文檔更新表示將搜索出的數據,直接改變,直接覆蓋,慎用

  指定屬性,單條更新:$set

db.集合名.update({name:'pywjh'},{$set:{name:'xxx',age:44}})    如果搜索的條件出現多個結果,此操作只會更改一條數據(從上到下)

  指定屬性,多條更新:{multi:true}

db.集合名.update({name:'pywjh'},{$set{name:'yyy',age:33},{multi:true}})

集合中刪除數據

  多條刪除

db.集合名.remove({name:'xxx'})     

  單條刪除:{justOne:true}

db.集合名.remove({name:'yyy'}, {justOne:true})     只會刪除一條數據,從上到下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM