Mongodb的基本文法

來源:互聯網
上載者:User

標籤:

前段時間工作上面由於沒有多少事所以玩了玩mongodb,學習了它的基本文法,然後現在在這裡做一個簡單的總結。

1.我是在win平台上面,啟動的話比較麻煩,所以我就簡單的把啟動過程做了個批次檔

啟動指令碼

 

:啟動mongodb的批次檔,到mongodb的bin目錄下面    D:    cd "Program Files"    cd MongoDB\Server\3.2\bin:其中D盤下面的data,db目錄是自己手動建立的:啟動帶有的參數 --auth(開啟使用者存取權限):--dbpath(資料存放區路徑)    mongod.exe --auth --dbpath D:\data\db

 

2.一些簡單基本文法

#建立或者切換資料庫use admin#查詢方法db.system.users.find()#格式化的查詢結果db.userinfo.find().pretty()查詢比較符等於    {<key>:<value>}    db.col.find({"by":"菜鳥教程"}).pretty()    where by = ‘菜鳥教程‘小於    {<key>:{$lt:<value>}}    db.col.find({"likes":{$lt:50}}).pretty()    where likes < 50小於或等於    {<key>:{$lte:<value>}}    db.col.find({"likes":{$lte:50}}).pretty()    where likes <= 50大於    {<key>:{$gt:<value>}}    db.col.find({"likes":{$gt:50}}).pretty()    where likes > 50大於或等於    {<key>:{$gte:<value>}}    db.col.find({"likes":{$gte:50}}).pretty()    where likes >= 50不等於    {<key>:{$ne:<value>}}    db.col.find({"likes":{$ne:50}}).pretty()    where likes != 50#查詢年紀大於等於25的資訊db.userinfo.find({"age":{$gte:25}}).pretty()#查詢age欄位是String類型的記錄。顯示的結果集(預設顯示_id欄位)只有user_name和age這兩個欄位。    db.userinfo.find({"age":{$type:2}},{_id:0, "user_name":1, "age":1})#刪除使用者db.dropUser(‘root‘)#建立新的使用者db.createUser({‘user‘:‘root‘, ‘pwd‘:‘000000‘,‘roles‘:[{‘role‘:‘readWrite‘, ‘db‘:‘mytest‘}, {‘role‘:‘readWrite‘, ‘db‘:‘admin‘}]})#mongodb建立集合對象 db.XXX:表示如果XXX存在則往這裡直接插入資料,如不存在,則建立對應的集合#插入資料     db.COLLECTION_NAME.insert(document)db.userinfo.insert([{user_name:‘1‘, age:10, sex:1},{user_name:‘2‘, age:10, sex:0}])#mongodb更新語句更新單條語句  如果 $set欄位不存在,若鍵不存在,會建立db.item_info.update({"item_id":"c9aea5ea-c29d-43ec-8205-fdb1e69934b7"},{$set:{"item_name":"test_update", "test":"test_add"}})$unset關鍵字,刪除對應的key值去除【item_name】、【test】這兩個key db.item_info.update({"item_id":"c9aea5ea-c29d-43ec-8205-fdb1e69934b7"},{$unset:{"item_name":"test_update", "test":"test_add"}})#mongodb更新語句更新多條語句db.userinfo.updateMany({"user_name":"1"}, {$set:{"user_name":"nie"}})#更新age欄位<= 20的欄位為wewe值db.userinfo.updateMany({"age":{$lte:20}}, {$set:{"age":"wewe"}})#mongodb刪除語句db.userinfo.remove({"user_name":"2"})刪除所有資料db.userinfo.remove({})#type $type操作符是基於BSON類型來檢索集合中匹配的資料類型,並返回結果。// 查詢age欄位是string類型的所有記錄db.userinfo.find({"age":{$type:2}})
#MongoDB sort()方法 在MongoDB中使用使用sort()方法對資料進行排序,sort()方法可以通過參數指定排序的欄位,並使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而-1是用於降序排列。db.userinfo.find({},{_id:0,"user_name":1, "age":1}).sort({"age":1}).pretty() #建立索引 過在建立索引時加background:true 的選項,讓建立工作在後台執行  db.userinfo.ensureIndex({"user_name":1},{background:true})最大範圍
  • 集合中索引不能超過64個
  • 索引名的長度不能超過125個字元
  • 一個複合索引最多可以有31個欄位
 #MongoDB 彙總函式

 

 

#刪除    db.item_info.deleteOne({"item_name":"update_item_name"})    db.item_info.find({"item_name":"update_item_name"}).count()            DeleteResult delete = item.deleteMany(Filters.eq("item_name", "update_item_name"));            System.out.println(delete.getDeletedCount());#mongodb語句explain> db.item_info.find({}).explain(){        "queryPlanner" : {                "plannerVersion" : 1,                "namespace" : "test.item_info",                "indexFilterSet" : false,                "parsedQuery" : {                        "$and" : [ ]                },                "winningPlan" : {                        "stage" : "COLLSCAN",                        "filter" : {                                "$and" : [ ]                        },                        "direction" : "forward"                },                "rejectedPlans" : [ ]        },        "serverInfo" : {                "host" : "Lenovo-niejian",                "port" : 27017,                "version" : "3.2.8",                "gitVersion" : "ed70e33130c977bda0024c125b56d159573dbaf0"        },        "ok" : 1}#mongodb語句like(Regex)如果檢索需要不區分大小寫,我們可以設定 $options 為 $i。以下命令將尋找不區分大小寫字串 w3cschool.ccdb.posts.find({post_text:{$regex:"w3cschool.cc",$options:"$i"}})db.item_info.find({"item_id":{$regex: /c9aea5ea/}})

 

Mongodb的基本文法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.