PyMongo 基本操作指令

本文详细介绍如何使用Python的pymongo库进行MongoDB数据库操作,包括连接数据库、查询、排序、插入、更新、删除记录,以及原子操作和索引创建等核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 创建连接Connection

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值