python对mongodb数据库的基本操作:连接、增、删、改、查

1、插入数据
db.collection.insert(document)
在mongodb中插入数据,有 save和insert两个语句可以使用。其区别在于:

  • 若新增的数据中存在主键且重复,insert() 会提示错误,而save() 则会更改原来的内容为新内容;
  • insert可以一次性插入一个列表,不会遍历,效率高,save则需要遍历列表,分别插入。

 
2、 删除数据

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
  • writeConcern :(可选)抛出异常的级别。

 
3、更新数据

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如$,$inc…)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

 
4、查询数据

db.collection.find(query, projection)
  • query :可选,使用查询操作符指定查询条件
  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

$gt:大于
$lt:小于
$gte:大于或等于
$lte:小于或等于
例子:
如查询j大于3,小于4:
db.collection.find({ “field” : { $gt: value1, $lt: value2 } } ); // value1 < field < value
不等于 $ne
db.things.find( { x : { $ne : 3 } } );
in 和 not in ($in $nin)
取模运算$mod
$all
$size
$exists
$type
模糊查询

from pymongo import MongoClient#引入pymongo
import re#引入正则表达式
conn = MongoClient('127.0.0.1', 27017)
db = conn.数据库名.集合名 # 连接数据库

db = conn['数据库名']['集合名']#连接数据库
for u in db.find({'表项':re.compile('模糊查询内容')}):
    print(u)