【问题标题】:Pymongo Insert Doc with String ID's rather than ObjectIDsPymongo 使用字符串 ID 而不是 ObjectID 插入文档
【发布时间】:2017-03-26 04:40:27
【问题描述】:

我正在尝试让 pymongo 插入具有字符串格式的 id 而不是 ObjectId 的新文档。我正在构建的应用程序集成了流星和 python,流星插入字符串 id,因此必须同时使用字符串和 Objectids 增加了复杂性。

例子:

流星插入文档:

{
    "_id" : "22FHWpvqrAeyfvh7B"
}

Pymongo 插入的文档:

{
    "_id" : ObjectId("5880387d1fd21c2dc66e9b7d")
}

【问题讨论】:

  • I.n Loki up9mjfhhkjflkk

标签: python mongodb meteor pymongo


【解决方案1】:

您可以将 Meteor 应用程序切换为插入 ObjectIds 而不是字符串。只需使用idGeneration 选项属性并将值设置为MONGO

这是一个例子。

var todos = new Mongo.Collection('todos', {
  idGeneration: 'MONGO'
});

在 Meteor 文档 here 中有描述。

或者,如果您希望 Meteir 保留字符串并且不知道如何配置 Pymongo 以存储为字符串,那么您可以使用 here 描述的方法在 Pymongo 中的 ObjectIds 和字符串之间进行转换..

【讨论】:

  • 感谢乔丹!这有帮助。您链接的方法效果很好!首先,生成一个ObjectId,然后提取字符串值,然后使用显式“_id”字段“str(ObjectId())插入pymongo
猜你喜欢
  • 2014-07-30
  • 2013-09-27
  • 1970-01-01
  • 1970-01-01
  • 2012-03-18
  • 1970-01-01
  • 2014-01-17
  • 2018-03-26
  • 2023-01-23
相关资源
最近更新 更多