日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongoDB 使用手册

發布時間:2025/3/8 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongoDB 使用手册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1、基本操作
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_r(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() 返回當前程序的版本信息

?

2、數據集(表)操作
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() 返回數據集共享版本號

?

3、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'

?

4、MongoDB主從復制介紹
MongoDB的主從復制其實很簡單,就是在運行 主的服務器 上開啟mongod進程 時,加入參數--master即可,在運行從的服務 器上開啟mongod進程時,加入--slave 和 --source 指定主即可,這樣,在主數據 庫更新時,數據被復制到從數據庫 中

(這里日志 文件 和訪問 數據時授權用戶暫時不考慮 )
下面我在單臺服務器上開啟2 deamon來模擬2臺服務器進行主從復制:
$ mkdir m_master m_slave
$mongodb/bin/mongod??--port??28018 --dbpath ~/m_master??--master??&
$mongodb/bin/mongod??--port??28019 --dbpath ~/m_slave??--slave??--source???localhost:28018??&
這樣主從服務器都已經啟動了,可以利用 netstat -an -t 查看28018、28019端口 是否開放

登錄主服務器:
$ mongodb/bin/mongo --port 28018
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28018/test
type "help" for help
> show dbs
admin
local
test
> use test
switched to db test
> show collections
這里主上的test數據什么表都沒有,為空,查看從服 務器同樣也是這樣
$ mongodb/bin/mongo --port 28019
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28019/test
type "help" for help
> show dbs
admin
local
test
> use test
switched to db test
> show collections
那么現在我們來驗證主從數據是否會像想象的那樣同步 呢?


我們在主上新建表user
> db??
test
>db.createCollection("user");
> show collections???????????
system.indexes
user
>
表 user已經存在了,而且test庫中還多了一個system.indexes用來存放索引的表

到從服務器上查看test庫:
> db??
test
> show collections???????????
system.indexes
User
> db.user.find();
>
從 服務器的test庫中user表已經存在,同時我還查了一下user表為空
現在我們再來測試一下,向主服務器test庫的user表中插入一條數據
> show collections???????????
system.indexes
user
> db.user.insert({uid:1,name:"Falcon.C",age:25});
> db.user.find();???????????????????????????????
{ "_id" : ObjectId("4b8226a997521a578b7aea38"), "uid" : 1, "name" : "Falcon.C", "age" : 25 }
>
這 時我們查看從服務器的test庫user表時會多出一條記錄來:
> db.user.find();
{ "_id" : ObjectId("4b8226a997521a578b7aea38"), "uid" : 1, "name" : "Falcon.C", "age" : 25 }
>
MongoDB 還有 Replica Pairs 和 Master - Master
參考地址:
http://www.mongodb.org/display/DOCS/Master+Slave


MongoDB一般情況下都可以支持主主復制,但是在大部分情況下官方不推薦使用
運行 的master - master的準備工作是:
新建存放數據 庫文件 的路徑
$mkdir mongodata/mm_28050 mongodata/mm_28051
運行mongodb數據庫 ,一個端口 為:28050,一個為:28051
$ mongodb/bin/mongod --port 28050 --dbpath ~/mongodata/mm_28050 --master --slave --source localhost:28051 > /dev/null &
$ mongodb/bin/mongod --port 28051 --dbpath ~mongodata/mm_28051 --master --slave --source localhost:28050 > /dev/null &
可以通過ps -ef|grep mongod 或 netstat -an -t來檢查是否運行功能


測試master - master模式 :
$ mongodb/bin/mongo --port 28050
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28050/test
type "help" for help
> show dbs
admin
local
> db
test
> db.user.insert({_id:1,username:"Falcon.C",age:25,sex:"M"});
> db.user.find();
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
> db.user.find();??//在28051端口插入數據后,再來查詢,看數據是否同步
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
{ "_id" : 2, "username" : "NetOne", "age" : 24, "sex" : "F" }
>
$ mongodb/bin/mongo --port 28051
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28051/test
type "help" for help
> db
test
> show collections?????????端口28050已經新建了一個user表并插入了一條數據,這里多出2表
system.indexes
user
> db.user.find();????????//查詢表user發現數據已經同步
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
> db.user.insert({_id:2,username:"NetOne",age:24,sex:"F"});在此插入數據看數據是否雙向同步
> db.user.find();??
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
{ "_id" : 2, "username" : "NetOne", "age" : 24, "sex" : "F" }
>
通 過以上開啟兩終端分別連接到28050、28051端口,分別插入測試數據發現,一切正常,正如我們所想的那樣實現數據的雙向同步

轉載于:https://my.oschina.net/usenrong/blog/733258

總結

以上是生活随笔為你收集整理的mongoDB 使用手册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲av无码一区二区乱子伦 | 精品+无码+在线观看 | 日韩视频一区二区三区四区 | 日本在线中文字幕专区 | 久久久96 | 亚洲av无码乱码国产精品fc2 | chinese精品自拍hd | 久久99久久久久久 | 黄色xxxxx| 亚洲色图清纯唯美 | 精品午夜一区二区三区 | 少妇人妻无码专区视频 | 日本综合视频 | 日韩一区二区影视 | 一级国产特黄bbbbb | 国产人妻777人伦精品hd | 国产精品嫩草影院av蜜臀 | 久久艹在线观看 | 国产粉嫩一区二区三区 | 日p免费视频 | 亚洲国产中文字幕在线 | 成人黄色在线免费观看 | 中文字幕5566| 特级av | 久久久无码人妻精品无码 | 涩涩免费网站 | 国产在线a| 老师张开让我了一夜av | 精品国产三级a∨在线 | 啪啪网站免费看 | 国产福利资源在线 | 岛国中文字幕 | 日本成人综合 | 久久黄色影院 | 天天久久综合网 | 成人天堂噜噜噜 | 欧美影视| 久久成人毛片 | 国产日韩欧美中文字幕 | 亚洲欧美激情精品一区二区 | 日韩中文字幕2019 | 午夜免费福利网站 | 中文字幕一区二区三区av | 国产人妻精品一区二区三区不卡 | 激情视频网址 | 午夜一区二区三区免费 | 福利精品 | 国产高清精品在线 | 国产无码精品合集 | 第一页在线 | 日韩欧美成人网 | 国产免费又粗又猛又爽 | 国产自在线拍 | 手机看片中文字幕 | 在线久草 | 成人在线免费播放视频 | 欧美黑人性xxx | 欧美变态口味重另类在线视频 | 黄视频网站免费看 | 狠狠干亚洲色图 | 成人a在线 | 久久婷婷伊人 | 在线视频日韩 | 任你操精品视频 | 亚洲热av | 秋霞在线观看秋 | 成a人片亚洲日本久久 | 在线视频自拍 | 福利在线视频观看 | 成人免费看片98欧美 | 日韩一级 | 夜夜草天天草 | 国模吧一区二区三区 | 亚洲成人午夜影院 | 欧美在线视频一区二区三区 | 91精品国产91久久久久久吃药 | 亚洲精品a区 | av影视天堂 | 深夜免费福利 | 欧美激情免费观看 | 成年人一级片 | 国产999久久久 | 久久九九热 | 午夜xx| 中文字幕一二区 | 一区二区国产精品 | 天天舔天天摸 | 91丨九色丨蝌蚪丨对白 | 日本福利视频一区 | 国产精品久久久久免费 | 久久中文字 | 中文字幕Av日韩精品 | 亚洲经典在线观看 | 日本高清无吗 | 无码人妻精品一区二区三区在线 | 欧美精品在线观看一区二区 | 亚洲人无码成www久久 | 天天操天天射天天爽 | 国产精品视频在线看 |