pyMongo 一些基本操作

1. find() 函数, 可以在函数体内直接指定 filter, sort, projection(限制field), 语法如下:

datas = col.find(
  filter = {"$and":[{"_id":{"$gte":datetime.datetime(2017, 1, 20)}}, {"_id":{"$lte":datetime.datetime(2017, 1, 20, 7, 15, 30, 0)}}]},
  sort = [("_id", pymongo.ASCENDING)],
  projection = {"_id":1, "lastPrice":1})

  也可以写成下面的样子:

datas = col.find(
    {"$and":[{"_id":{"$gte":datetime.datetime(2017, 1, 20)}}, {"_id":{"$lte":datetime.datetime(2017, 1, 20, 7, 15, 30, 0)}}]},
    {"lastPrice":1, "_id":1}).sort("_id", pymongo.ASCENDING)

    

api: http://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.find

 

2. pyMongo时间区间问题

  这里: http://api.mongodb.com/python/current/examples/datetimes.html

  描述了如何自动转化时区

  

复制代码
>>> from bson.codec_options import CodecOptions
>>> db.times.find_one()['date']
datetime.datetime(2002, 10, 27, 14, 0)
>>> aware_times = db.times.with_options(codec_options=CodecOptions(
...     tz_aware=True,
...     tzinfo=pytz.timezone('US/Pacific')))
>>> result = aware_times.find_one()
datetime.datetime(2002, 10, 27, 6, 0,  
                  tzinfo=<DstTzInfo 'US/Pacific' PST-1 day, 16:00:00 STD>)
复制代码

 

4. MongoClient 在url中直接指定db

 db = pymongo.MongoClient("mongodb://127.0.0.1/MyDataBase").get_default_database()

get_default_database() 返回url中指定的db

 

posted on   norsd  阅读(2538)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示