Pymongo使用字符串ID而不是ObjectID插入Doc

时间:2017-03-25 15:59:21

标签: python mongodb meteor pymongo

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

示例:

Meteor-inserted doc:

{
    "_id" : "22FHWpvqrAeyfvh7B"
}

Pymongo-inserted doc:

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

1 个答案:

答案 0 :(得分:1)

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

这是一个例子。

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

Meteor docs here中对此进行了描述。

或者,如果您希望Meteir保留字符串并且无法弄清楚如何将Pymongo配置为存储为字符串,那么您可以使用here描述的方法在Pymongo中的ObjectIds和字符串之间进行转换.. < / p>