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

首頁 > 數據庫 > MongoDB > 正文

MongoDB 語法使用小結

2020-10-29 18:54:57
字體:
來源:轉載
供稿:網友
他支持的數據結構非常松散,是類似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
国产精品一区专区欧美日韩| 欧美在线影院在线视频| 91精品在线看| 欧美精品在线第一页| 国产精品美乳在线观看| 久久久久久69| 一区二区三区视频免费在线观看| 国产亚洲精品成人av久久ww| 亚洲欧美国产精品va在线观看| 国产精品视频永久免费播放| 日韩在线视频免费观看高清中文| 97碰在线观看| 91免费的视频在线播放| 中文字幕亚洲欧美日韩在线不卡| 成人精品久久久| 国产99在线|中文| 久久综合久中文字幕青草| 午夜剧场成人观在线视频免费观看| 亚洲美腿欧美激情另类| 色偷偷综合社区| 国产一区二区三区网站| 美日韩在线视频| 国产精品一香蕉国产线看观看| www.欧美精品| 精品视频在线播放| 亚洲最新av在线网站| 久久精品国产免费观看| 精品偷拍一区二区三区在线看| 亚洲国产高清高潮精品美女| 久久久爽爽爽美女图片| 欧美巨大黑人极品精男| 欧美成人激情视频免费观看| 夜色77av精品影院| 97免费中文视频在线观看| 久久综合免费视频| 68精品久久久久久欧美| 亚洲精品免费av| 中日韩美女免费视频网站在线观看| 欧美日韩亚洲激情| 黄色一区二区在线观看| 国产精品美女免费视频| 日韩精品在线观看一区二区| 亚洲天堂成人在线视频| 国产91露脸中文字幕在线| 国产成人精品最新| 欧美精品www| 日本伊人精品一区二区三区介绍| 久久久精品999| 国产这里只有精品| 懂色av一区二区三区| 欧美激情第三页| 狠狠色狠狠色综合日日小说| 久热精品视频在线免费观看| 国产精品99蜜臀久久不卡二区| 国内精品一区二区三区四区| 欧美国产日韩一区| 亚洲成人免费在线视频| 久久久综合免费视频| 日韩高清人体午夜| 国产区亚洲区欧美区| 日韩中文有码在线视频| 亚洲精品国产福利| 97在线视频一区| 亚洲丁香婷深爱综合| 国产精品旅馆在线| 欧美日韩福利电影| 91精品国产91久久久久久最新| 精品五月天久久| 国产精品va在线播放我和闺蜜| 国产精品大片wwwwww| 欧美性猛xxx| 国产婷婷97碰碰久久人人蜜臀| 亚洲国产精品成人一区二区| 91高清在线免费观看| 亚洲激情中文字幕| 国产亚洲欧美一区| 国产性色av一区二区| 久久久国产精彩视频美女艺术照福利| 久久精品中文字幕电影| 成人在线视频福利| 亚洲精品97久久| 日韩av中文字幕在线免费观看| 欧美在线一级视频| 日韩第一页在线| 夜夜躁日日躁狠狠久久88av| 国产国语videosex另类| xvideos成人免费中文版| 欧美黄色免费网站| 国产成人精品在线播放| 欧美综合在线第二页| 97超碰蝌蚪网人人做人人爽| 超碰97人人做人人爱少妇| 久久天天躁狠狠躁夜夜躁2014| 日韩欧美福利视频| 成人黄色片在线| 懂色aⅴ精品一区二区三区蜜月| 国产午夜精品视频免费不卡69堂| 国内精品久久久久久| 宅男66日本亚洲欧美视频| 色yeye香蕉凹凸一区二区av| 亚洲一区二区自拍| 欧美日韩亚洲天堂| 亚洲精品自产拍| 久久伊人91精品综合网站| 亚洲成人av资源网| 国产欧美日韩中文字幕在线| 国内精品美女av在线播放| 日韩电影免费观看在线观看| 国产精品自产拍在线观看中文| 欧美在线视频一二三| 国产精品96久久久久久又黄又硬| 午夜精品免费视频| 午夜精品久久久久久久久久久久久| 国产精品久久久久av| 日韩欧美一区二区在线| 美女av一区二区三区| 欧美性猛交xxxx免费看久久久| 国产成人精品久久二区二区91| 91精品国产自产在线老师啪| 中文字幕亚洲欧美日韩在线不卡| 国产日本欧美一区二区三区在线| 亚洲日本aⅴ片在线观看香蕉| 精品国产一区二区三区久久狼黑人| 美女福利视频一区| 日韩精品视频在线播放| 亚洲免费影视第一页| 国产精品女视频| 国产精品爽黄69| 亚洲视频在线播放| 精品国产一区av| 一区二区三区视频免费在线观看| 精品国产乱码久久久久久婷婷| 欧美日韩在线观看视频| 成人动漫网站在线观看| 国产精品日韩精品| 国自产精品手机在线观看视频| 久久久亚洲欧洲日产国码aⅴ| 亚洲有声小说3d| 欧美男插女视频| 国产精品美女在线观看| 久久噜噜噜精品国产亚洲综合| 亚洲精品国产精品乱码不99按摩| 久久久久久久999精品视频| 26uuu另类亚洲欧美日本一| 91久久中文字幕| 久久97久久97精品免视看| 成人免费观看a| 精品无人区乱码1区2区3区在线| 欧美怡春院一区二区三区| 久久精品视频在线播放| 日韩欧美中文第一页| 国产欧美精品xxxx另类| 国模私拍一区二区三区| 国产丝袜一区视频在线观看| 欧美一级片免费在线| 亚洲黄色在线看| 亚洲国产婷婷香蕉久久久久久| 久久天天躁狠狠躁夜夜av| 国产精品丝袜一区二区三区| 欧美成人激情视频免费观看| 久久久久久国产精品| 色av中文字幕一区| 国产精品第一第二| 欧美精品videofree1080p|