MongoDB常用命令 和 文法

來源:互聯網
上載者:User

五,更多命令

db.AddUser(username,password)  添加使用者

db.auth(usrename,password)     設定資料庫連接驗證

db.cloneDataBase(fromhost)     從目標伺服器複製一個資料庫
db.commandHelp(name)           returns the help for the command
db.copyDatabase(fromdb,todb,fromhost)  複製資料庫fromdb---來源資料庫名稱,todb---目標資料庫名稱,fromhost---來源資料庫伺服器位址
db.createCollection(name,{size:3333,capped:333,max:88888})  建立一個資料集,相當於一個表
db.currentOp()                 取消當前庫的當前操作
db.dropDataBase()              刪除當前資料庫
db.eval(func,args)             run code server-side
db.getCollection(cname)        取得一個資料集合,同用法:db['cname'] or
db.getCollenctionNames()       取得所有資料集合的名稱列表
db.getLastError()              返回最後一個錯誤的提示訊息
db.getLastErrorObj()           返回最後一個錯誤的對象
db.getMongo()                  取得當前伺服器的連線物件get the server
db.getMondo().setSlaveOk()     allow this connection to read from then nonmaster membr of a replica pair
db.getName()                   返回當操作資料庫的名稱
db.getPrevError()              返回上一個錯誤對象
db.getProfilingLevel()         
db.getReplicationInfo()        獲得重複的資料
db.getSisterDB(name)           get the db at the same server as this onew
db.killOp()                    停止(殺死)在當前庫的當前操作
db.printCollectionStats()      返回當前庫的資料集狀態
db.printReplicationInfo()
db.printSlaveReplicationInfo()
db.printShardingStatus()       返回當前資料庫是否為共用資料庫
db.removeUser(username)        刪除使用者
db.repairDatabase()            修複當前資料庫
db.resetError()                
db.runCommand(cmdObj)          run a database command. if cmdObj is a string, turns it into {cmdObj:1}
db.setProfilingLevel(level)    0=off,1=slow,2=all
db.shutdownServer()            關閉當前服務程式
db.version()                   返回當前程式的版本資訊

 

db.test.find({id:10})          返回test資料集ID=10的資料集
db.test.find({id:10}).count()  返回test資料集ID=10的資料總數
db.test.find({id:10}).limit(2) 返回test資料集ID=10的資料集從第二條開始的資料集
db.test.find({id:10}).skip(8)  返回test資料集ID=10的資料集從0到第八條的資料集
db.test.find({id:10}).limit(2).skip(8)  返回test資料集ID=1=的資料集從第二條到第八條的資料
db.test.find({id:10}).sort()   返回test資料集ID=10的排序資料集
db.test.findOne([query])       返回合格一條資料
db.test.getDB()                返回此資料集所屬的資料庫名稱
db.test.getIndexes()           返回些資料集的索引資訊
db.test.group({key:...,initial:...,reduce:...[,cond:...]})
db.test.mapReduce(mayFunction,reduceFunction,<optional params>)
db.test.remove(query)                      在資料集中刪除一條資料
db.test.renameCollection(newName)          重新命名些資料集名稱
db.test.save(obj)                          往資料集中插入一條資料
db.test.stats()                            返回此資料集的狀態
db.test.storageSize()                      返回此資料集的儲存大小
db.test.totalIndexSize()                   返回此資料集的索引檔案大小
db.test.totalSize()                        返回些資料集的總大小
db.test.update(query,object[,upsert_bool]) 在此資料集中更新一條資料
db.test.validate()                         驗證此資料集
db.test.getShardVersion()                  返回資料集共用版本號碼

 

六,MongoDB文法與現有關係型資料庫SQL文法比較

MongoDB文法                                   MySql文法
db.test.find({'name':'foobar'}) <==> select * from test where name='foobar'
db.test.find()                  <==> select * from test
db.test.find({'ID':10}).count() <==> select count(*) from test where ID=10
db.test.find().skip(10).limit(20)     <==> select * from test limit 10,20
db.test.find({'ID':{$in:[25,35,45]}}) <==> select * from test where ID in (25,35,45)
db.test.find().sort({'ID':-1})        <==> select * from test order by ID desc
db.test.distinct('name',{'ID':{$lt:20}})  <==> select distinct(name) from test where ID<20
db.test.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}})  <==> select name,sum(marks) from test group by name
db.test.find('this.ID<20',{name:1})  <==> select name from test where ID<20
db.test.insert({'name':'foobar','age':25})<==>insert into test ('name','age') values('foobar',25)
db.test.remove({})                <==> delete * from test
db.test.remove({'age':20})        <==> delete test where age=20
db.test.remove({'age':{$lt:20}})  <==> elete test where age<20
db.test.remove({'age':{$lte:20}}) <==> delete test where age<=20
db.test.remove({'age':{$gt:20}})  <==> delete test where age>20
db.test.remove({'age':{$gte:20}}) <==> delete test where age>=20
db.test.remove({'age':{$ne:20}})  <==> delete test where age!=20
db.test.update({'name':'foobar'},{$set:{'age':36}}) <==> update test set age=36 where name='foobar'
db.test.update({'name':'foobar'},{$inc:{'age':3}})  <==> update test set age=age+3 where name='foobar'

轉載:http://www.cnblogs.com/xumingxiang/archive/2012/04/08/2437468.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.