mongodb常用操作

来源:互联网 发布:mysql tmp table size 编辑:程序博客网 时间:2024/05/17 23:31

数据库

  • 创建数据库(如果有则不创建)
use mydb
  • 查询数据库
db                  //检查当前选定的数据库show dbs            //检查数据库列表
  • 删除数据库
db.dropDatabase()

集合

  • 创建集合
db.createCollection("movie")db.movie.insert({"name":"tutorials point"}) //直接插入文档的方式创建集合
  • 查询集合
show collections
  • 删除集合
db.movie.drop()

文档

  • insert操作
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})... }
  • find操作
db.person.find({"name":"joe"})          //按条件查找记录db.person.find()                        //查找所有记录
  • find高级用法
db.person.find().limit(5)                   //查找有限的记录db.person.find({},{"age":1,_id:0})          //查询特定的字段db.person.find().sort({age:1})              //1是升序-1降序db.person.find({"age": {$gt:10}, $or: [{"name": "xxx20"},{"age": "20"}]}) //where age>10 AND (age = '20' OR name = 'zouyu20')
  • update操作
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操作,如果没有,则插入该记录
  • delete操作
db.person.remove({"name":"joe"})        //删除单个记录db.person.remove({})                    //删除所有

聚合操作

  • count操作
db.person.count({"age":20})     //统计某一类数量db.person.count()               //统计所有
  • distinct操作
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

#!/usr/bin/python# -*- coding: utf-8 -*-import pymongoclass 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|个人博客