update
db.mycol.update({"name":"bbb"},{$set:{"name":"bbb","message":"dddd"}},0) 将名字为bbb的所有字段都修改
db.mycol.update({"name":"bbb"},{$inc:{{"age":1}}},0) age加1
db.mycol.update({"name":"ccc"},{$addToSet:{{"age":1}}},0) 将1添加到age
db.mycol.update({"name":"ccc"},{$rename:{"age":"post"}},0,1) 修改字段
db.mycol.update({"name":"ccc"},{$push:{arr:{tit:"post"}}},0,1) 将tit放入到arr中
db.mycol.update({"arr.tit":"post"},{$set:{"arr.$.cnt":"linux is very much"}},0,1) 修改同一个集合中的数据
查看状态
> db.mycol.stats()
{
"ns" : "mydb.mycol",
"count" : 14,
"size" : 1888,
"avgObjSize" : 134,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
普通集合转固定集合
db.runCommand({convertToCapped:"c1",size:10000000,max:2})
GridFS文件系统
files集合 包含元数据对象
chunks集合 包含其他一些相关信息的二进制块
./mongofiles put mongosniff.tar.gz
./mongofiles list
./mongofiles delete mongosniff.tar.gz
use test
db.fs.files.find();
建立索引
> db.c1.ensureIndex({name:1});
> db.c1.getIndexKeys();
[ { "_id" : 1 }, { "name" : 1 } ]
> db.c1.dropIndex({"name":1});
开启慢查询
db.setProfilingLevel(1,10) 如果一个查询耗时10毫秒,就会被记录下来
登录验证
./mongo 127.0.0.1/admin -u root -p123456
监控
./mongosniff --source NET lo
./mongostat
数据导出,导入
./mongodump -d test -o /tmp/test 备份
./mongorestore -d test /tmp/test
./mongo --master --port 20000
./mongo --slave --source 127.0.0.1:20001
mapreduceide MongoVUE RoboMongo