数据库
use mydb
db
show dbs
db.dropDatabase()
集合
db.createCollection("movie")
db.movie.insert({"name":"tutorials point"}) //直接插入文档的方式创建集合
show collections
db.movie.drop()
文档
db.person.insert({"name":"jack","age":20}) //插入单条记录
for(var i=0;i<100000;i++){ //批量操作
... var rand=parseInt(i*Math.random());
... db.person.insert({"name":"xxxx"+i,"age":i})
... }
db.person.find({"name":"joe"}) //按条件查找记录
db.person.find() //查找所有记录
db.person.find().limit(5)
db.person.find({},{"age":1,_id:0})
db.person.find().sort({age:1})
db.person.find({"age": {$gt:10}, $or: [{"name": "xxx20"},{"age": "20"}]})
db.person.update({"name":"joe"},{"name":"joe","age":30})
db.person.update({"name":"joe"},{$inc:{"age":10}}) //$inc递增修改器
db.person.update({"name":"joe"},{$set:{"age":10}}) //$set修改器
db.person.update({"name":"test"},{$inc:{"age":1}},true) //upsert操作,如果没有,则插入该记录
db.person.remove({"name":"joe"}) //删除单个记录
db.person.remove({}) //删除所有
聚合操作
db.person.count({"age":20})
db.person.count()
db.person.distinct("age") //去重
索引操作
db.person.ensureIndex({"name":1}) //1为升序,-1为降序
db.person.find({"name":"zouyu"+10000}).explain()//性能分析
db.person.ensureIndex({"name":1},{"unique":true})//唯一索引,重复键不能插入
db.person.ensureIndex({"name":1,"age":1}) //组合索引
db.person.getIndexes() //查找索引
db.person.reIndex() //重建索引
db.person.dropIndexes() //删除索引
用户管理
db.createUser(
{
user: "test",
pwd: "xxxxxx",
roles: [ { role: "dbOwner", db: "app" } ]
}
)
db.auth('test','psw')
show users
连接mongodb
import pymongo
class MongoConn():
def __init__(self):
self.client = pymongo.MongoClient('x.x.x.x', 27017)
self.db = self.client['leason']
self.connected = self.db.authenticate('leason', 'xxxx')
leason|个人博客