Mongodb快速入門

下載:https://www.mongodb.com
文檔:https://docs.mongodb.com/manual/

下載好之后雙擊進行安裝,win7系統(tǒng)需要安裝補丁,KB2731284。
直接下一步下一步安裝完成。

Paste_Image.png

安裝完之后配置環(huán)境變量:

Paste_Image.png

把MongoDB安裝目錄加在Path后面,用分號隔開。

那么我們就能在系統(tǒng)的任何盤符,使用mongo命令了:

mongo   使用數據庫
mongod  啟動服務
mongoimport  導入數據

啟動數據庫:

Paste_Image.png

--dbpath就是選擇數據庫文檔所在的文件夾。

show dbs:列出所有數據庫
use 數據庫名字:使用某個數據庫
db:查看當前所在數據庫

如果想新建數據庫,也是useuse一個不存在的,就是新建。

Paste_Image.png
插入數據

student就是所謂的集合。集合中存儲著很多json。
student是第一次使用,集合將自動創(chuàng)建。


Paste_Image.png

使用數據庫

  • 要使用數據庫,干的第一件事情就是啟動服務:mongod --dbpath '數據庫的位置' 例如:mongod --dbpath c:\mongo
  • 查看所有數據列表:show dbs
  • 查看所有集合:show collections
  • 可以查看集合中的語句:db.student.find()
  • 使用數據庫,創(chuàng)建數據庫:use student
    注意:如果真的想把這個數據庫創(chuàng)建成功,那么必須插入一個數據。
    數據庫中不能直接插入數據,只能往集合(collections)中插入數據,不需要創(chuàng)建集合,只需要寫點語法

比如往user這個集合中插入一條數據:

db.user.insert({"name":"xiaoming","age":"20"})

這時就創(chuàng)建 了一個user這個集合

  • 刪除數據庫,刪除當前所在的數據庫:db.dropDatabase();使用db命令可以查看當前使用的是那個數據庫
  • 插入數據:db.user.insert({"name":"xiaoming","age":"20"})
  • 我們不可能一條一條的insert,所以,我們希望用記事本在外部寫好數據庫的形式,然后使用mongoimport導入數據庫:
mongoimport --db test --collection restaurants --drop --file primer-dataset.json

-db test :想往哪個數據庫里面導入
--collection restaurants: 想往哪個集合中導入
--drop:把集合清空
--file primer-dataset.json: 哪個文件

查找數據用find;

db.restaurants.find()
  • 如果find中沒有數據,將查出集合中所有文檔。

  • 精確匹配:在student集合中查找數學成績?yōu)?0分的學生

db.student.find({"score.shuxue":70});
  • 多個條件:查找數學成績?yōu)?0,且年齡為12 的學生
db.student.find({"score.shuxue":70 , "age":12})
  • 大于條件:查找語文成績大于50的
db.student.find({"score.yuwen":{$gt:50}});
  • 尋找所有年齡是9歲,或者11歲的學生
db.student.find( { $or:[{"age":9},{"age":11}] } );
  • 查找完畢之后,打點調用sort,表示升降排序。
查找所有同學,按照語文成績從高到低排,如果相同,按年齡從小到大排:
db.student.find().sort( { "score.yuwen": -1, "age": 1 } )

修改數據

  • 查找名字叫做小明的,把年齡更改為16歲:
db.student.update({"name":"小明"},{$set:{"age":16}});
  • 查找數學成績是70,把年齡更改為33歲:
db.student.update({"score.shuxue":70},{$set:{"age":33}});
  • 更改所有匹配項目:
db.student.update({"sex":"男"},{$set:{"age":33}},{multi: true});

加上{multi: true}這個條件可已更改所有匹配項

  • 完整替換,不出現$set關鍵字了:
db.student.update({"name":"小明"},{"name":"大明","age":16});

刪除數據

刪除數學成績?yōu)?0分的

db.student.remove({"score.shuxue":"80"})

這樣的話是刪除所所有滿足條件的,如果只想刪除一個,加{ justOne: true }屬性。

db.student.remove({"score.shuxue":"80"},{ justOne: true })
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • mongodb介紹 MongoDB是一個高性能,開源,無模式的文檔型數據庫,是當前NoSql數據庫中比較熱門的一種...
    測試幫日記閱讀 523評論 0 1
  • 一、NoSQL概述 NoSQL是Not Only SQL的縮寫,指的是非關系型數據庫,與傳統(tǒng)的關系型數據庫相對應,...
    凜_冬_將_至閱讀 2,155評論 0 4
  • 數據庫 databases -------------------------------------------...
    社會你碼ge閱讀 333評論 0 0
  • NoSql數據庫優(yōu)缺點 在優(yōu)勢方面主要體現在下面幾點: 簡單的擴展 快速的讀寫 低廉的成本 靈活的數據模型 在不足...
    dreamer_lk閱讀 2,877評論 0 6
  • 秋葉陣陣飄 秋光時時搖 藍圖胸中繪 奮斗之路遙
    千秋筆閱讀 231評論 0 1

友情鏈接更多精彩內容