【发布时间】:2021-05-05 00:20:56
【问题描述】:
我正在将 MongoDB 与 Python 和 MongoEngine 一起使用。我想在每次数据库查询后将所有_id 从ObjectId 转换为str。有什么方法可以自动执行此操作,或者是否有任何函数递归地遍历对象/对象数组并将所有ObjectId 替换为str?现在,我必须手动使用$toString:
class User(Document):
name = StringField()
users = User.objects.aggregate([
{"$set": {"$toString": {"_id": "$_id"}}}
])
如果我使用$lookup,数组中会嵌套_id,所以我必须使用$map。
【问题讨论】:
-
ObjectId转换成字符串的原因是什么?我想不出任何有用的理由。 -
这是不可能的,
_id是不可变的。 -
试试 $convert...
标签: python mongodb pymongo mongoengine objectid