MongoDB數據庫(一)

學習資源網站:https://www.bilibili.com/video/BV1bJ411x7mq?from=search&seid=8073803961154704106
本篇博客主要是在學習完mongodb數據庫後的一些總結和反思,用於日後快速回顧

一、啓動MongoDB服務器

在bin目錄下打開命令提示符,輸入指令

mongod --dbpath=..\data\db

二、常用的操作指令

登錄              mongo
查看已有的數據庫   show databases
退出              exit
創建集合          db.createCollection("集合名")
查看當前庫中表    show collections
集合的刪除        db.集合.drop()

注:當向一個集合中插入一個文檔的時候,如果集合不存在,則會自動創建集合。

三、集合操作指令

1、單個文檔插入

db.comment.insert(
   {
    "articleid":"100000",
    "content":"今天天氣真好,陽光明媚",
    "userid":"1001",
    "nickname":"Rose",
    "createdatetime":newDate(),
    "likenum":NumberInt(10),
    "state":null
    }
) 

2、多個文檔插入

db.comment.insertMany([
 { "_id":"1","articleid":"100001","content":"我們不應該把清晨浪費在手機上,健康很重要,一杯溫水幸福你我 他。","userid":"1002","nickname":"相忘於江湖","createdatetime":new Date("2019-08- 05T22:08:15.522Z"),"likenum":NumberInt(1000),"state":"1" }, 
 { "_id":"2","articleid":"100001","content":"我夏天空腹喝涼開水,冬天喝溫開水","userid":"1005","nickname":"伊人憔 悴","createdatetime":new Date("2019-08-05T23:58:51.485Z"),"likenum":NumberInt(888),"state":"1"}, 
 { "_id":"3","articleid":"100001","content":"我一直喝涼開水,冬天夏天都喝。","userid":"1004","nickname":"傑克船 長","createdatetime":new Date("2019-08-06T01:05:06.321Z"),"likenum":NumberInt(666),"state":"1"}, 
 { "_id":"4","articleid":"100001","content":"專家說不能空腹喫飯,影響健康。","userid":"1003","nickname":"凱 撒","createdatetime":new Date("2019-08-06T08:18:35.288Z"),"likenum":NumberInt(2000),"state":"1"}, 
 { "_id":"5","articleid":"100001","content":"研究表明,剛燒開的水千萬不能喝,因爲燙 嘴。","userid":"1003","nickname":"凱撒","createdatetime":new Date("2019-08- 06T11:01:02.521Z"),"likenum":NumberInt(3000),"state":"1"}
 ]);

3、文檔的基本查詢

查詢所有                db.comment.find()
按一定條件              db.comment.find({userid:'1003'})   //查詢userid爲1003的所有記錄
                       db.comment.findOne({userid:'1003'})//查詢userid爲1003的第一條記錄
查詢某些記錄的部分信息   db.comment.find({userid:"1003"},{userid:1,nickname:1}) 
不顯示_id               db.comment.find({userid:"1003"},{userid:1,nickname:1,_id:0}) 
查詢所有的部分信息       db.comment.find({},{userid:1,nickname:1,_id:0})

4、文檔的更新

覆蓋的修改   db.comment.update({_id:"1"},{likenum:NumberInt(1001)}) 
局部的修改   db.comment.update({_id:"2"},{$set:{likenum:NumberInt(889)}}) 
批量修改     db.comment.update({userid:"1003"},{$set:{nickname:"劉明勇"}})//只修改第一條數據
            db.comment.update({userid:"1003"},{$set:{nickname:"劉明勇1"}},{multi:true})
列增長的修改 db.comment.update({_id:"3"},{$inc:{likenum:NumberInt(1)}}) 

5、統計查詢

統計所有記錄數   db.comment.count() 
按條件統計       db.comment.count({userid:"1003"}) 

6、分頁列表查詢

db.comment.find().skip(0).limit(2)

注:
1、存儲的文檔會分頁,例如每頁兩條記錄,需要要查詢第二頁內容需用該語句
2、skip(), limilt(), sort()三個放在一起執行的時候,執行的順序是先 sort(), 然後是 skip(),最後是顯示的 limit(),和命令編寫順序無關。
3、在sort()方法中1爲升序、-1爲降序

7、排序查詢

db.comment.find().sort({userid:-1,likenum:1}) 

8、模糊查詢

db.comment.find({content:/開水/}) //查詢評論內容中包含'開書'的所有文檔

9、比較查詢

db.comment.find({likenum:{$gt:NumberInt(700)}}) 

注:
db.集合名稱.find({ “field” : { $gt: value }}) // 大於: field > value
db.集合名稱.find({ “field” : { $lt: value }}) // 小於: field < value
db.集合名稱.find({ “field” : { $gte: value }}) // 大於等於: field >= value
db.集合名稱.find({ “field” : { $lte: value }}) // 小於等於: field <= value
db.集合名稱.find({ “field” : { $ne: value }}) // 不等於: field != value

10、包含查詢

//查詢評論的集合中userid字段包含1003或1004的文檔
db.comment.find({userid:{$in:["1003","1004"]}}) 
//查詢評論的集合中userid字段不包含1003或1004的文檔
db.comment.find({userid:{$nin:["1003","1004"]}}) 

11、條件連接查詢

//查詢評論集合中likenum大於等於700 並且小於2000的文檔:
db.comment.find({$and:[{likenum:{$gte:NumberInt(700)}},{likenum:{$lt:NumberInt(2000)}}]}) 
//查詢評論集合中userid爲1003,或者點贊數小於1000的文檔記錄
db.comment.find({$or:[ {userid:"1003"} ,{likenum:{$lt:1000} }]})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章