python - Pymongo 使用字符串 ID 而不是 ObjectID 插入文档

标签 python mongodb meteor pymongo

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

示例:

插入 meteor 的文档:

{
    "_id" : "22FHWpvqrAeyfvh7B"
}

Pymongo 插入的文档:

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

最佳答案

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

这是一个示例。

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

Meteor 文档 here 中对此进行了描述.

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

关于python - Pymongo 使用字符串 ID 而不是 ObjectID 插入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43018573/

相关文章:

python - 为什么 python 中的 0.500000 舍入与使用 '%.0f' 的 45.500000 不同?

python - 如何按特定列分配新的值列?

meteor - 我可以在另一个 EJSON 对象中嵌入一个 EJSON 对象吗?

javascript - 如何将集合插入到 meteor 表单中

node.js - mongo ObjectID,ObjectId和Mongoose ObjectId有什么区别

Heroku 上的 Meteor 不工作

python 通过分隔符分割字符串,仅当它在引号之外时

python - 使用 Flask 手动定义路由

mongodb - 如何使用mongo-go-driver将bson文档解码为M型

mongodb - 如何对 mongodb runCommand 进行限制、跳过和计数