python-pymongo-指定部分字段格式

python-pymongo-指定部分字段格式


函数指定

from datetime import datetime

def USER_INFO(username: str, is_active=None, update_time=None, create_time=None, _id=None):
    return {
        '_id': t_id,
        'user_name': username,
        'is_active': is_active,
        'update_time': datetime.now(),
        'create_time': datetime.now(),
    }

通过调用函数的方式,来指定我需要的字段是否是必填,是否我需要的格式.

在这里插入图片描述


以下方式不用了

再不自定义_id的情况下, pymongo 需要传入 ObjectId 才能进行查找.

通过_id 查询数据.

# pymongo 自己产生的id查询.
from bson.objectid import ObjectId
# 引入后正常查找就行了
query = {"_id": ObjectId("612df1252c9df273cbedc50a")}

# 自己自定义id进行查询.
query = {"_id": "612df1252c9df273cbedc50a"}

指定部分字段.

import time
from bson.objectid import ObjectId
from dateutil import parser

key_value_type = {
    
    # 表_id
    "_id": "612df1252c9df273cbedc50a",  # 可以自己指定成字符串类型
    "_id_type": {
        "value_1:": bson.ObjectId('612df1252c9df273cbedc50a'),  # 可以自己指定成 ObjectId 类型 内容自己定义.
        "value_2:": '612df1252c9df273cbedc50a',
    },
    # 时间
    "time_type": {
        "value": parser.parse(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())),
    },
    # 整数
    "int_type": {
        "value": 22
    },
    # 浮点数
    "float_type": {
        "value": 22.00
    },
    # 字符串
    "str_type": {
        "value": '22.00'
    },
    # 布尔型
    "bool_type": {
        "value": True
    }

}

查看结果

{
    "_id": "612df1252c9df273cbedc50a",
    "_id_type": {
        "value_1:": {
            "$oid": "612df1252c9df273cbedc50a"
        },
        "value_2:": "612df1252c9df273cbedc50a"
    },
    "time_type": {
        "value": {
            "$date": "2022-04-13T09:44:44Z"
        }
    },
    "int_type": {
        "value": 22
    },
    "float_type": {
        "value": 22
    },
    "str_type": {
        "value": "22.00"
    },
    "bool_type": {
        "value": true
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值