PyMongo-基础操作指令

25次阅读

共计 1630 个字符,预计需要花费 5 分钟才能阅读完成。

1. 创建连接 Connection

import pymongo
conn = pymongo.MongoClient('localhost',27017)  # 安装完成启动服务后,默认本地连接
conn = pymongo.MongoClient() 默认上述地址以及端口
conn = pymongo.MongoClient() #连接数据库
db = conn['like_name'] #获取名字的数据库
col = db['name_list'] #获取名字的集合 

2. 查看全部聚集名称

db.collection_names()

3. 查看聚集的一条记录

db.Account.find_one()
db.Account.find_one({"UserName":"keyword"})

4. 查看聚集的记录统计

db.Account.find().count()

5. 聚集查询结果排序

db.Account.find().sort("UserName")  -- 默认为升序
db.Account.find().sort("UserName",pymongo.ASCENDING)   -- 升序
db.Account.find().sort("UserName",pymongo.DESCENDING)  -- 降序 

6. 聚集查询结果多列排序

db.Account.find().sort([("UserName",pymongo.ASCENDING),("Email",pymongo.DESCENDING)])

7. 添加记录

db.Account.insert({"AccountID":21,"UserName":"baiyun"})

8. 修改记录

db.Account.update({"UserName":"baiyun"},{"$set":{"Email":"zte_bjc@126.com","Password":"666"}})

9. 删除记录

db.Account.remove()   -- 全部删除
db.Test.remove({"UserName":"keyword"}) -- 按照条件删除 

10. 原子操作常用命令

  • $set

用来指定一个键并更新键值,若键不存在并创建。

    {$set : { field : value} }
  • $unset

    • 用来删除一个键
    {$unset : { fiel- d : 1} }
  • $inc

    • $inc 可以 ** 对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。
    {$inc : { field : value} }
  • $push

    • 用法:
    {$push : { field : value} }
    • 把 value 追加到 field 里面去,field 一定要是数组类型才行,如果 field 不存在,会新增一个数组类型加进去。
  • $pushAll

    • 同 $push, 只是一次可以追加多个值到一个数组字段内。
    {$pushAll : { field : value_array} }
  • $pull

    • 从数组 field 内删除一个等于 value 值。
    {$pull : { field : _value} }
  • $addToSet

    • 增加一个值到数组内,而且只有当这个值不在数组内才增加。
  • $pop

    • 删除数组的第一个或最后一个元素
    {$pop : { field : 1} }
  • $rename

    • 修改字段名称
    {$rename : { old_field_name : new_field_name} }
  • $bit

    • 位操作,integer 类型
    {$bit : { field : {and : 5}}}

pymongo 为 mongodb 数据库添加索引

    from pymongo import ASCENDING, DESCENDING
    posts.create_index([("date", DESCENDING), ("author", ASCENDING)])

创建唯一索引

    import pymongo
    mongo = pymongo.Connection('localhost')
    collection = mongo['baiyun']['lantian']
    collection.ensure_index('love',unique=True)

正文完
 0