啟動mongoDB 以及常用操作命令

來源:互聯網
上載者:User

標籤:style   os   io   ar   for   檔案   資料   cti   sp   

nonsql    關聯式資料庫

 集合      表

 文檔     行

  

啟動mongoDB之前首先手動建立存放MongoDB資料檔案的目錄,如e:\mongo_data

 

執行命令  mongod --dbpath=e:\mongo_data

這樣麻煩

 

手動建立一個尾碼名為bat的檔案, 把命令 mongod --dbpath=e:\mongo_data 複製進去,以後執行就可以了。

 

或者把它當作系統的服務 ,啟動它 在系統服務那邊。

以上操作 mongoDB的伺服器已經啟動了。

 

mongo localhost:27017 串連 mongoDB伺服器。

 

MongoDB 常用操作

 

mydb1 資料庫  c1、user集合

 

show dbs 顯示所有資料庫

db   查看當前所在的資料庫

show collections 查看當前資料庫中所有的集合

show tables  查看當前資料庫中所有的集合

use mydb1                如果存在這個資料庫則進入,不存在則建立這個資料庫

db.createCollection("集合名稱")  顯示建立集合 

db.集合名稱.insert({name:"jack",age:20}); 隱士建立集合

db.集合名稱.drop() 刪除集合

 

小樣本:

for(var i=0;i<10;i++){

db.user.insert(name:"name"+i,age:i);} 添加了 10條記錄

 

db.user.count(); 輸出 資料條數

db.集合名稱.remove()   把所有資料刪除

db.user.remove({name:"user0"}) 刪除指定的人

db.user.find() 查詢所有

db.user.find({name:"user2"}); 查詢條件

db.user.findone(); 查詢文檔第一個

第一個框是查詢條件。第二個框顯示 那些列顯示不顯示,

db.user.find({},{name:1}) 顯示name 屬性的  其他的屬性不顯示 1代表顯示 0代表不顯示

db.user.find().sort({age:1}) 根據age來排序 升序

db.user.find().sort({age:-1})根據age來排序 降序

 

count統計  skip limit 分頁 

skip(i)忽略第i條,limit 一頁包含幾條

第一頁4條 skip(0).limit(4)

第二頁4條 skip(4).limit(4)

第三頁4條 skip(8).limit(4)

。。。。。。。。

 

db.user.find().sort({age:-1}).skip(0).limit(2).count(0) 顯示 幾條結果,看find()查出多少條 不管分頁效果

db.user.find().sort({age:-1}).skip(0).limit(2).count(1) 顯示分頁效果 

 

db.user.find({age:{$gt:5}}) 查詢年紀大於5的

db.user.find({age:{$lt:5}})小於5的

$gte  $lte  $ne可以帶入以上的命令

 

 

$all  數組中內含項目關聯性

樣本

db.user.insert({name:"user11",age:22,post:[1,2,3,4]})

db.user.find({post:{$all:[1,2]}})  post key值中,包含條件中的所有 [1,2]的 都查出來查出來

 

關聯式資料庫中 select* from user where id in(1,2,3)相當於 nonsql中的下面

$in  

db.user.find({post:{$in:[1,99]}}) 只要包含條件中的一個1 或者99 存在其中一個  就都能查出來 

$nin 與上面取反

關聯式資料庫中 select* from user where id name="jack" or age=20相當於 nonsql中的下面

$or  兩個不同的條件

db.user.find({$or:[{name:"user1"},{age:8}]}) 查詢 或者的情況, 兩種條件。

 

$exist:1 存在

$exist:0 不存在

db.user.find({post:{$exists:1}}) 存在 post這個鍵的 

 

 

db.c1.insert({name:"jack",age:20}); 才會真正形成資料庫的檔案,否則 只存在記憶體中的資料庫。 c1是集合的名字

db.drop.Database(); 刪除資料庫

db.help() 看協助資訊

 

var x=db.user.find();

x.next(); 

x.next();  在記錄中一條一條地遊走  遊標

x.hasNext();

 

db.collection.update(criteria,objNew,upsert,multi)

criteria:用於設定查詢條件的對象

objNew 用於設定更新內容的對象

upsert:如果記錄已經存在,更新它,否則新增一個記錄,取值為0或1       1已經存在更新  0新增

multi:如果有多個合格記錄,是否全部更新,取值為0或1      1 為更新所有的

注意:預設情況,只會更新第一個合格記錄

一般情況下後兩個參數分別為0,1即:

如果後兩個參數不寫 則預設是 1,0

db.collection.update({},{},0,1);

 

 

db.user.update({name:"user1"},{name:"abc"}) 會整條記錄覆蓋 把後面的age也刪除

所以這個時候應該用到 $set

 

$set 更新值

db.user.update({name:"user3"},{$set{address:"nanjing"}},0,1)

db.user.update({name:"user3"},{$unset:{address:1}},0,1) 把address欄位刪除

 

 

$inc 年齡加1

db.user.update({name:"user4"},{$inc:{age:1}})

啟動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.