MongoDB數據庫的基本操作(二)

索引


  • 創建索引
    • ensureIndex({key:1})
db.user.ensureIndex({"name":1})
//查看相關信息
db.user.stats()
  • 刪除索引
db.user.dropIndex({"name"1})
  • 創建唯一索引
db.user.ensureIndex({"name":1},{unique:true})

查詢


  • $in
db.user.find({"age":{$in:[21,33,44]}})
  • $exists
    • 判斷一個字段值是否存在
db.user.find({"name":{$exists:1}})

集羣技術


主從複製

mongod --dbpath="" --master --port 10000
mongod --dbpath="" --slave --port 20000 --source 127.0.0.1:10000
mongod --dbpath="" --slave --port 30000 --source 127.0.0.1:10000

讀寫分離

mongod --port 10000 --dbpath="" --replSet xul --master 
mongod --port 20000 --dbpath="" --replSet xul --slave
mongod --port 30000 --dbpath="" --replSet xul --slave
//配置文件
c_xul={"_id":"xul","members":[
{"_id":0,host:"127.0.0.1:10000"},
{"_id":1,host:"127.0.0.1:20000"},
{"_id":2,host:"127.0.0.1:30000"}
]}

rs.initiate(c_xul)

rs.slaveOk()
//查看狀態
rs.status()

設置分片

mongod --dbpath="" --port 10000
mongod --dbpath="" --port 20000
mongod --dbpath="" --port 30000

mongos --port 40000 --configdb localhost:10000

mongos localhost:40000/admin
//指定存儲數據的節點
db.runCommand({addshard:"localhost:20000",allowLocal:true})
db.runCommand({addshard:"localhost:30000",allowLocal:true})
//指定分片數據庫
db.runCommand({enablesharding:"xul"})
//指定分片的集合和片鍵
db.runCommand({shardcolletion:"xul.user",key:{name:1}})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章