1. 程式人生 > >爬蟲總結7

爬蟲總結7

1. mongod啟動

sudo mongod --auth
			--dbpath=
			--fork
			--logpath=
			--logappend

2. 許可權管理

use admin
db.createUser({'user':'賬號', 'pwd':'密碼', 'roles':['root']})

db.createUser({'user':'賬號', 'pwd':'密碼', 'roles':[{'role':'read', 'db':'資料庫名'}, 
		 {;role;:'readWrite', 'db':'另外一個數據庫名'}]})

3. 命令

show dbs
use db_name
show collections
db
db.dropDatabase()

4. 增刪改

db.集合名.insert({})
db.集合名.save({_id})
db.集合名.update({條件}, {$set:{指定Kv}}, {multi:false/true})
	# multi預設false表示更新一個
db.集合名.remove({條件}, {justOne:false/true})

5. 查

db.集合名.find().pretty()
				.count()
				.skip(1)
				.limit(1)
db.集合名.find({條件}, {_id:0, k:1})

6. 聚合操作

對於一次查詢的結果集,要做多次的處理
db.集合名.aggregate(
	{$match:{age:{$gte:15}}},
		# 匹配age大於等於15
	{$group:{_id:'$key', xxx:{$sum:1}}}, 
		# 按照key值進行分組,並自定義xxx欄位,值是每組的資料總數
	{$project:{_id:0, xxx:1}},
		# 投影,只展示xxx欄位和值
	{$skip:1}, 
	{$limit:1}
		# 跳過第一條結果,只展示第二條結果
	}
)

7. 索引

# 能夠對建立索引的欄位查詢速度加快
# 唯一索引可以對建立索引的欄位進行去重
# 降低寫入速度;清除沒有作用的索引
db.集合名.ensureIndex({k1:1, k2:-1}, {'unique':true}) 
# 1表升序,-1表降序
# {'unique':true}宣告唯一索引
db.集合名.getIndexes() 
db.集合名.dropIndex({key:1})

8. 備份恢復匯入匯出

備份恢復:資料庫<-->資料夾
匯入匯出:集合<-->檔案