【问题标题】:Convert ObjectId to str in MongoDB在 MongoDB 中将 ObjectId 转换为 str
【发布时间】:2021-05-05 00:20:56
【问题描述】:

我正在将 MongoDB 与 Python 和 MongoEngine 一起使用。我想在每次数据库查询后将所有_idObjectId 转换为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


【解决方案1】:

如果 sampleDocument 是从 MongoDB 获取的对象,则下面的 sn-p 将为您提供来自 ObjectId 的字符串:

str(sampleDocument ._id)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-11
    • 2018-11-09
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多