亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

MongoDB 語法使用小結

2020-03-14 13:27:20
字體:
來源:轉載
供稿:網友
MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的
 
 
他支持的數據結構非常松散,是類似json的bjson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。 
它的特點是高性能、易部署、易使用,存儲數據非常方便。 

1. MongoDB的獲取和安裝 

(1)獲取地址 http://www.mongodb.org/downloads 根據自己需要選擇相應的版本,linux下可以使用wget 命令。 
(2)解壓 mongodb-win32-i386-1.8.1 
(3)創建數據存放文件夾,mongodb默認的數據目錄 /data/db 
C:/> mkdir /data 
C:/> mkdir /data/db 
(4)運行 MongoDB 
mongod.exe - 數據庫的服務器端,相當于mysql的 mysqld命令,啟動服務器端 
mongo.exe - 數據庫的客戶端,相當于mysql的mysql命令,打開管理控制臺 

啟動服務 
mongod.exe --dbpath F:/DataBase/MongoDB/db/ 
--dbpath 數據文件存放路徑 
--port 數據服務端口 
C:/> cd /my_mongo_dir/bin 
C:/my_mongo_dir/bin > mongod //啟動mongod 服務器,默認的數據庫路徑 /data/db,端口27071 
啟動客戶端 
mongo.exe cclove 
cclove 所連接的數據庫名稱 
C:/> cd /my_mongo_dir/bin 
C:/my_mongo_dir/bin> mongo 

2. 熟悉MongoDB的數據操作語句,類sql 

數據庫操作語法 
mongo --path 
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.cname 
db.getCollenctionNames() 取得所有數據集合的名稱列表 
db.getLastError() 返回最后一個錯誤的提示消息 
db.getLastErrorObj() 返回最后一個錯誤的對象 
db.getMongo() 取得當前服務器的連接對象get the server connection object 
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.linlin.find({id:10}) 返回linlin數據集ID=10的數據集 
db.linlin.find({id:10}).count() 返回linlin數據集ID=10的數據總數 
db.linlin.find({id:10}).limit(2) 返回linlin數據集ID=10的數據集從第二條開始的數據集 
db.linlin.find({id:10}).skip(8) 返回linlin數據集ID=10的數據集從0到第八條的數據集 
db.linlin.find({id:10}).limit(2).skip(8) 返回linlin數據集ID=1=的數據集從第二條到第八條的數據 
db.linlin.find({id:10}).sort() 返回linlin數據集ID=10的排序數據集 
db.linlin.findOne([query]) 返回符合條件的一條數據 
db.linlin.getDB() 返回此數據集所屬的數據庫名稱 
db.linlin.getIndexes() 返回些數據集的索引信息 
db.linlin.group({key:...,initial:...,reduce:...[,cond:...]}) 
db.linlin.mapReduce(mayFunction,reduceFunction,<optional params>) 
db.linlin.remove(query) 在數據集中刪除一條數據 
db.linlin.renameCollection(newName) 重命名些數據集名稱 
db.linlin.save(obj) 往數據集中插入一條數據 
db.linlin.stats() 返回此數據集的狀態 
db.linlin.storageSize() 返回此數據集的存儲大小 
db.linlin.totalIndexSize() 返回此數據集的索引文件大小 
db.linlin.totalSize() 返回些數據集的總大小 
db.linlin.update(query,object[,upsert_bool]) 在此數據集中更新一條數據 
db.linlin.validate() 驗證此數據集 
db.linlin.getShardVersion() 返回數據集共享版本號 

db.linlin.find({'name':'foobar'}) select * from linlin where name='foobar' 
db.linlin.find() select * from linlin 
db.linlin.find({'ID':10}).count() select count(*) from linlin where ID=10 
db.linlin.find().skip(10).limit(20) 從查詢結果的第十條開始讀20條數據 select * from linlin limit 10,20 ----------mysql 
db.linlin.find({'ID':{$in:[25,35,45]}}) select * from linlin where ID in (25,35,45) 
db.linlin.find().sort({'ID':-1}) select * from linlin order by ID desc 
db.linlin.distinct('name',{'ID':{$lt:20}}) select distinct(name) from linlin where ID<20 

db.linlin.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}}) 
select name,sum(marks) from linlin group by name 
db.linlin.find('this.ID<20',{name:1}) select name from linlin where ID<20 

db.linlin.insert({'name':'foobar','age':25}) insert into linlin ('name','age') values('foobar',25) 
db.linlin.insert({'name':'foobar','age':25,'email':'cclove2@163.com'}) 

db.linlin.remove({}) delete * from linlin 
db.linlin.remove({'age':20}) delete linlin where age=20 
db.linlin.remove({'age':{$lt:20}}) delete linlin where age<20 
db.linlin.remove({'age':{$lte:20}}) delete linlin where age<=20 
db.linlin.remove({'age':{$gt:20}}) delete linlin where age>20 
db.linlin.remove({'age':{$gte:20}}) delete linlin where age>=20 
db.linlin.remove({'age':{$ne:20}}) delete linlin where age!=20 

db.linlin.update({'name':'foobar'},{$set:{'age':36}}) update linlin set age=36 where name='foobar' 
db.linlin.update({'name':'foobar'},{$inc:{'age':3}}) update linlin set age=age+3 where name='foobar' 

官方提供的操作語句對照表: 

上行:SQL 操作語句 
下行:Mongo 操作語句 
CREATE TABLE USERS (a Number, b Number) 
db.createCollection("mycoll") 

INSERT INTO USERS VALUES(1,1) 
db.users.insert({a:1,b:1}) 

SELECT a,b FROM users 
db.users.find({}, {a:1,b:1}) 

SELECT * FROM users 
db.users.find() 

SELECT * FROM users WHERE age=33 
db.users.find({age:33}) 

SELECT a,b FROM users WHERE age=33 
db.users.find({age:33}, {a:1,b:1}) 

SELECT * FROM users WHERE age=33 ORDER BY name 
db.users.find({age:33}).sort({name:1}) 

SELECT * FROM users WHERE age>33 
db.users.find({'age':{$gt:33}})}) 

SELECT * FROM users WHERE age<33 
db.users.find({'age':{$lt:33}})}) 

SELECT * FROM users WHERE name LIKE "%Joe%" 
db.users.find({name:/Joe/}) 

SELECT * FROM users WHERE name LIKE "Joe%" 
db.users.find({name:/^Joe/}) 

SELECT * FROM users WHERE age>33 AND age<=40 
db.users.find({'age':{$gt:33,$lte:40}})}) 

SELECT * FROM users ORDER BY name DESC 
db.users.find().sort({name:-1}) 

SELECT * FROM users WHERE a=1 and b='q' 
db.users.find({a:1,b:'q'}) 

SELECT * FROM users LIMIT 10 SKIP 20 
db.users.find().limit(10).skip(20) 

SELECT * FROM users WHERE a=1 or b=2 
db.users.find( { $or : [ { a : 1 } , { b : 2 } ] } ) 

SELECT * FROM users LIMIT 1 
db.users.findOne() 

SELECT DISTINCT last_name FROM users 
db.users.distinct('last_name') 

SELECT COUNT(*y) FROM users 
db.users.count() 

SELECT COUNT(*y) FROM users where AGE > 30 
db.users.find({age: {'$gt': 30}}).count() 

SELECT COUNT(AGE) from users 
db.users.find({age: {'$exists': true}}).count() 

CREATE INDEX myindexname ON users(name) 
db.users.ensureIndex({name:1}) 

CREATE INDEX myindexname ON users(name,ts DESC) 
db.users.ensureIndex({name:1,ts:-1}) 

EXPLAIN SELECT * FROM users WHERE z=3 
db.users.find({z:3}).explain() 

UPDATE users SET a=1 WHERE b='q' 
db.users.update({b:'q'}, {$set:{a:1}}, false, true) 

UPDATE users SET a=a+2 WHERE b='q' 
db.users.update({b:'q'}, {$inc:{a:2}}, false, true) 

DELETE FROM users WHERE z="abc" 
db.users.remove({z:'abc'});
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品视频中文在线观看| 国产精品久久久久久久久| 久久久精品免费| 国产成人精品电影| 久久久精品欧美| 欧美性猛交xxxx乱大交3| 91久久国产综合久久91精品网站| 亚洲欧美日本另类| 另类视频在线观看| 国产精品女主播| 欧美亚洲国产另类| 亚洲国产精品久久久久秋霞不卡| 精品久久久久久亚洲国产300| 久久久国产精品视频| 亚洲爱爱爱爱爱| 97成人精品区在线播放| 午夜免费久久久久| 日韩在线精品视频| 亚洲国产私拍精品国模在线观看| 97**国产露脸精品国产| 伊人伊成久久人综合网站| xvideos成人免费中文版| 亚洲欧美国产日韩中文字幕| 国产成人精品av| 在线观看中文字幕亚洲| 亚洲影院色无极综合| 亚洲视频一区二区三区| 国产精品视频网址| 一区二区三区久久精品| 国产精品91久久久久久| 欧美做受高潮1| 亚洲精品免费在线视频| 91精品视频一区| 国产精品嫩草影院一区二区| 国产精品综合不卡av| 日韩av快播网址| 欧美在线一区二区视频| 欧美日韩中文字幕在线视频| 亚洲成**性毛茸茸| 在线一区二区日韩| 欧美一区二区大胆人体摄影专业网站| 精品国产一区二区在线| 国产精品精品久久久| zzijzzij亚洲日本成熟少妇| 久久久久久国产精品| 国产成人精品在线视频| 久久久之久亚州精品露出| 亚洲伦理中文字幕| 欧美日韩裸体免费视频| 亚洲中国色老太| 日韩av三级在线观看| 日产精品久久久一区二区福利| 欧美日韩免费在线| 久久久女女女女999久久| 国产精品一区二区久久精品| 欧美夫妻性生活xx| 国产成人精品国内自产拍免费看| 午夜精品久久久99热福利| 国产这里只有精品| 日韩欧美亚洲一二三区| 国产精品日日摸夜夜添夜夜av| 日韩美女在线观看| 国产成人精品久久久| 欧美性色xo影院| 久久久999国产精品| 日韩在线观看精品| 成人妇女淫片aaaa视频| 久久久久久国产精品美女| 4k岛国日韩精品**专区| 久久高清视频免费| 亚洲精品98久久久久久中文字幕| 26uuu国产精品视频| 欧美中文在线观看| 国内精品小视频在线观看| 成人网在线免费观看| 亚洲免费小视频| 懂色aⅴ精品一区二区三区蜜月| 欧美成人精品激情在线观看| 久久精品视频在线观看| 国产午夜精品视频| 亚洲成人中文字幕| 欧美第一淫aaasss性| 欧美最猛性xxxxx(亚洲精品)| 亚洲人a成www在线影院| 亚洲色图日韩av| 欧美国产日韩在线| 亚洲免费福利视频| 欧美成人剧情片在线观看| xxxxx成人.com| 色与欲影视天天看综合网| 久久影院资源站| 亚洲天堂日韩电影| 欧美日韩国产精品一区二区不卡中文| 久久国产加勒比精品无码| 日韩影视在线观看| 91欧美视频网站| 琪琪第一精品导航| 亚洲精品日产aⅴ| 亚洲а∨天堂久久精品喷水| 成人免费观看49www在线观看| 欧美日韩美女在线| 91精品视频观看| 久久久久久国产免费| 亚洲天堂视频在线观看| 国产视频999| 最近2019好看的中文字幕免费| 亚洲激情视频在线观看| 欧美性猛交xxxxx免费看| 国产精品久久久久久久久影视| 精品香蕉在线观看视频一| 日韩中文字幕av| 久久中文字幕国产| 国产一区在线播放| 成人国产精品一区二区| 国产精品欧美日韩久久| 欧美成人中文字幕| 亚洲电影免费观看高清完整版| 成人精品久久久| 亚洲三级 欧美三级| 国产精品久久久久久久久久尿| 国产精品扒开腿做爽爽爽男男| 日韩成人在线观看| 国产精品偷伦一区二区| 亚洲国产精品大全| 国产中文欧美精品| 国产精品白丝av嫩草影院| 日韩精品极品毛片系列视频| 尤物九九久久国产精品的特点| 91久久久久久久久久久久久| 精品视频在线播放| 91精品视频在线看| 亚洲天堂男人天堂女人天堂| 国产一区二区丝袜高跟鞋图片| 九色精品免费永久在线| 日韩免费在线视频| 亚洲国产成人精品久久久国产成人一区| 国产亚洲精品成人av久久ww| 亚洲综合第一页| 影音先锋欧美精品| 色悠悠久久88| 中文字幕无线精品亚洲乱码一区| 中文字幕亚洲欧美日韩2019| 国产视频久久久| 亚洲影院高清在线| 国产香蕉精品视频一区二区三区| 色婷婷综合成人av| 中文字幕自拍vr一区二区三区| 欧美精品电影在线| 国产成人+综合亚洲+天堂| 亚洲日本aⅴ片在线观看香蕉| 日韩中文字幕视频在线| 国产美女91呻吟求| 91香蕉嫩草影院入口| 中文字幕亚洲综合久久| 欧美刺激性大交免费视频| 国外成人在线播放| 亚洲欧美在线免费| 最新国产精品亚洲| 欧美激情图片区| 亚洲欧洲在线播放| 上原亚衣av一区二区三区| 亚洲人成五月天| 国产在线观看精品一区二区三区| 国产91精品视频在线观看|