配置 pymongo 使用字符串 _id 而不是 ObjectId

2023-11-25

我在用着pymongo用来自不同系统的旧信息播种数据库,我有很多这样的查询:

studentId = studentsRemote.insert({'price': price})

在实际的 python 脚本中,studentId作为字符串打印,但在我使用此数据的 javascript Meteor 应用程序中,它随处显示为ObjectId(...).

我要配置pymongo生成_id作为字符串而不用担心 ObjectId

我使用 Meteor 规范创建的任何对象都将使用字符串格式,而不是 ObjectId 格式。我不想在我的应用程序中混合使用 id 类型,因为这会导致我的互操作性问题。

我知道我可以从 Meteor 创建 ObjectId但坦率地说,我更愿意使用字符串格式。这是 Meteor 默认的,更简单,而且我找不到在我的特定应用程序中使用 ObjectId 的任何充分理由.

The valueOf()蒙戈函数或者类似的东西可以解析_id并在文档进入数据库后用于更新文档,但如果有更直接的东西就更好了。


在 .py 文件中:

from bson.objectid import ObjectId
......
kvdict['_id'] = str(ObjectId())
......
mongoCollection.insert(kvdict)

it's ok!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置 pymongo 使用字符串 _id 而不是 ObjectId 的相关文章

  • 在java中将RFC3339 DateTime转换为Date [重复]

    这个问题在这里已经有答案了 如何转换RFC 3339 https www rfc editor org rfc rfc3339java 中的 com google api client util DateTime 到 DateTime 例如
  • 清理 MongoDB 的输入

    我正在为 MongoDB 数据库程序编写 REST 接口 并尝试实现搜索功能 我想公开整个 MongoDB 接口 我确实有两个问题 但它们是相关的 所以我将它们放在一篇文章中 使用 Python json 模块解码不受信任的 JSON 是否
  • 将 Django +1.10 与 MongoDB 连接

    在过去的几个月里 有人为 MongoDB 更换了 Django 1 10 中的默认数据库引擎吗 我在谷歌上得到的所有信息都是六四年前的 最常见的结果包括mongodb 引擎这需要Django nonrel 来自 Django 1 5 的一个
  • 为关联数组选择哪种映射类型?学说ODM

    我有一个关于 顺便说一句 真的很棒 Doctrine ODM 的简单问题 假设您有一个类似以下的文档 Document class Test Id public id WHICHTYPE public field array 现在我想存储一
  • 如何调试性能问题/优化您的流星应用程序

    我刚刚将 Meteor 应用程序部署到 Digital Ocean 上的生产服务器上 我注意到 对于大约 7500 个文档 完全获取对象 有选择地仅获取 3 个字段 并填充自动完成数据大约需要 3 5 秒 我相信对于如此数量的数据来说 它应
  • MongoDB Java 驱动程序:MongoCore 驱动程序与 MongoDB 驱动程序与 MongoDB 异步驱动程序

    MongoDB Java 驱动程序有三种不同的驱动程序选项 核心驱动 MongoDB 驱动程序 MongoDB 异步驱动程序 The 驱动程序描述页面 https docs mongodb org ecosystem drivers jav
  • MongoDB 查询 IN 对象数组

    我在检索两个集合之间的信息时遇到问题 第一个集合存储员工信息 id ObjectId 4f9643967f8b9a3f0a00005a birth date 1963 09 09 departments departments id Obj
  • Node.js 找不到模块“mongodb”

    我正在经历我的第一个 Node js 项目 我已经安装了 mongodb 有一个 server js 文件 当我尝试运行它时 出现此错误 module js 340 throw err Error Cannot find module mo
  • 访问 Amazon EC2 上的 Mongodb 时出现问题

    我还有一个问题要问你 我有安装了 mondodb 的 Amazon EC2 实例 它工作得很好 除了一件事 我无法从外部 我的电脑 访问 连接到 它 我认为安全组的问题 这是某种默认防火墙 有谁知道如何配置EC2实例来访问mongodb 提
  • 用于高效大规模图遍历的数据库

    我有一个大型二分有向图数据集 约 2000 万个元素 在当前的使用中 我运行的遍历算法每次运行约 500 000 个节点 这些算法有效 但历史上运行的是从文本文件加载到内存的数据 文本文件似乎是一个不好的方法 所以我将数据作为邻接列表传输到
  • MongoDb Spring 在嵌套对象中查找

    我正在使用 Spring Data Mongodb 和这样的文档 id ObjectId 565c5ed433a140520cdedd7f attributes 565c5ed433a140520cdedd73 333563851 list
  • 更快地识别对象嵌套数组中具有重复字段的文档的方法

    我正在搜索更快的选项来将文档与嵌套数组内的字段中的重复值进行匹配 示例文档匹配条件 key 2 a p id 2 id 3 id 3 我需要找到更快的方法来仅匹配具有重复 a p id 值的文档 在带有 key 2 的示例文档中具有重复的
  • MongoDB GeoJSON“无法从对象、格式错误的几何图形中提取地理密钥?”插入类型 Polygon 时

    我收到错误 无法从对象中提取地理密钥 几何图形格式错误 多边形已闭合 格式看起来不错 因为它已正确插入到 Mongo 中 我使用的是 Mongo 版本 2 6 3 在 Centos 6 5 x64 上运行 下面的多边形有什么问题 我非常仔细
  • 如何在 SpringBoot v3.0.0 中使用嵌入式 MongoDB?

    我正在尝试连接嵌入式 mongodb 并使用 MongoDbSpringIntegrationTest 对其进行测试 问题是相同的代码在 2 7 7 中适用于 spring boot 但在 3 0 0 中不适用于 spring boot 问
  • 如何使 Meteor 上的服务器可以访问文本文件

    我很惊讶我无法在这里搜索我的答案 似乎没有其他人遇到这个问题 当您运行meteor服务时 js html等被打包在 meteor local build文件夹中 但它似乎排除了不是js或html的内容 我有一个名为 magicsets 的文
  • 匹配条件和数组中的最新日期

    db chat find pretty limit 3 id ObjectId 593921425ccc8150f35e7662 user1 1 user2 2 messages sender 1 datetime ISODate 2017
  • MongoDB:如何在更新之前对查询进行排序

    我正在编写一个 Meteor Node js 应用程序 它在后端使用 MongoDB 在我的代码中的某个时刻 我需要更新specific集合中的文档 我需要使用 Mongo 的 update 方法 但我在传递正确的 复杂的 查询以缩小到该特
  • 如何在流星运行时编译新模板?

    如何使用 Handlebars js 在流星中运行时编译新模板 var source
  • Mongodb 的 Mongoose 与 Mongoose

    我正在学习 NodeJ 要从 NodeJS 连接并使用 MongoDB 我看到很多使用 Monk 或 Mongoose 的示例 这两个库等效吗 它们具有相同的功能还是都有特定的用途 作为 NodeJS 的初学者 我应该使用哪个 以下是使用
  • 猫鼬递归填充

    我已经搜索了一段时间 但没有找到任何好的答案 我有n deep我存储在数据库中并且想要填充的树所有的父母所以最后我得到了完整的树 node parent parent parent 到目前为止 我已达到 2 级 正如我提到的 我需要达到 2

随机推荐

  • 如何计算方向轴?

    之前 我根据解剖结构 例如爪子的脚趾 计算了方向轴 但我发现 当我无法很好地区分脚趾或者 脚跟 蓝色方块 偏离得很远时 这不起作用 所以我决定寻找更好的替代方案并决定尝试计算惯性轴 此页面很好地解释了如何计算它 但我很难理解从质心 或我的例
  • Numpy 中的块运算

    是否有任何方便的实用程序可以在 Numpy 数组上进行块操作 我正在考虑像 Ising 自旋重整化这样的操作 将矩阵划分为块并返回矩阵 其中每个块被其总和 平均值或其他函数替换 您可能正在寻找超级蝙蝠鱼的blockwise view 这使用
  • Android Google Places API,getAutocompletePredictions 返回状态“PLACES_API_ACCESS_NOT_CONFIGURED”

    我在使用 Android Google Places API 自动完成功能时遇到问题 我使用与 Android Google Maps API 相同的密钥 在文档中 写的是这样可以 这是我在清单中的定义
  • Matlab filter() 与 SciPy lfilter()

    根据他们的文档Matlab滤波器 and SciPylfilter 看起来他们应该是 兼容 的 然而我有一个问题 在Python中移植更大的Matlab代码 为此我得到了ValueError object of too small dept
  • 发布网站不会更新我的 CSS 包

    当我在发布模式下从 Visual Studio 运行代码并检查捆绑的样式表时 我可以看到对该捆绑中的 css 文件的更新 但是 当我将网站发布到服务器或本地计算机时 我对样式表的更改尚未生效 捆绑的样式表仍然是旧的样式表 我尝试过重置 II
  • 如何修复 ('throw er; // Unhandled 'error' event') 代码生命周期?

    我尝试创建一个 React 应用程序 我用的是命令提示符但是在创建应用程序后 当我尝试启动 npm 时 它给了我一些错误 我也尝试在 WebStorm IntelliJ 和 Visual Studio Code PowerShell 中创建
  • 角度动画在 IE Edge 中不起作用

    我在 Angular 中向我的组件添加了一个动画 然而 动画在 Chrome 和 Firefox 中工作正常 但在 IE Edge 中 尽管样式在状态更改时正确应用 但动画并未触发 但只是没有指定动画 有人有同样的问题吗 这是我的代码 an
  • 启动 Android Studio 时出错:无法创建 JVM:错误代码-6

    我安装了Android Studio并且运行正常 但因为它有点慢 所以我按照网站上的说明进行操作 Android Studio 速度慢时怎么办尽管我尝试卸载并重新安装 AS 以及 Java 但它使我无法重新打开 android studio
  • 此 jar 包含其签名者证书将在六个月内过期的条目

    我已经以各种方式对我的 jar 进行了签名 但是当我使用以下命令时 我不断收到上述错误消息 jarsigner verify verbose my jar 有没有办法消除这个错误 如果没有重新认证 我的代码会在六个月后停止工作吗 以下是用于
  • 从购物车页面删除 Woocommerce 购物车数量选择器

    我正在尝试从购物车页面删除 Woocommerce 购物车数量选择器 我正在商店存档页面上使用数量输入字段 并将其应用到购物车页面 我怎样才能删除它并且不允许用户更改它 我已尝试使用下面的代码进行以下操作 并从官方 Woocommerce
  • 在 Makefile 中找不到指向的库文件

    我正在尝试编译这个工具 下面是其 Makefile 的开头 CC gcc CFLAGS Wall O2 D TRACES DFLAGS g Wall o0 CPPFLAGS INCLUDES I LDFLAGS LIBRARIES L LD
  • 在 appsettings.json (asp.net core 本地化)中设置文化和 ui-culture?

    我有 asp net core 应用程序 我想要本地化和翻译 v 1 1 0 我希望源代码支持英语和挪威语部署 我发现这可能是一个startup cs配置 RequestLocalizationOptions localizationOpt
  • C 数组可以在元素之间包含填充吗?

    我听说有传言说 在 C 中 包含在结构内部的数组可能在数组元素之间添加了填充 现在显然 任何一对元素之间的填充量都不能变化 或者使用简单的指针算术不可能计算数组中的下一个元素 该谣言还指出 不包含在结构中的数组保证不包含填充 我至少知道那部
  • python、postgresql 中的数据库测试

    如何对使用 postgresql 的 python DAL 进行单元测试 在 sqlite 中 您可以为每个测试创建内存数据库 但对于 postgresql 则不能这样做 我想要一个可用于设置数据库并在测试完成后清理它的库 我使用 Sqla
  • 何时为 JWT 使用 RS256?

    所以 现在我正在构建一个供第三方使用的 API 并且我正在阅读有关 RS256 和 HS256 的内容 我的理解是 两者之间的区别在于 第一个使用公钥进行验证 使用私钥进行签名 而另一个则仅使用一个密钥 因此 如果您使用 RS256 因为您
  • 给自己发送一封电子邮件,但让我回复另一封电子邮件

    我正在使用我的 Web 应用程序平台 node js 上的模块 nodemailer 向使用我的 Web 应用程序的联系页面的某人发送电子邮件给自己 因为 我要向自己发送一封电子邮件 如果我回复该电子邮件 我将再次向自己发送一封电子邮件 而
  • 无法加载 LZ4 支持的 Python 扩展。 LZ4 压缩将不可用

    我是 ROS 新手 我刚刚打开终端并输入roscore和另一个终端并键入rostopic node我收到这个错误 上面写着 无法加载 LZ4 支持的 Python 扩展 LZ4 压缩将不可用 我搜索并去了https pypi org pro
  • Django:将变量从 get_context_data() 传递到 post()

    变量定义在里面get context view 因为它需要一个id访问正确的数据库对象 class FooView TemplateView def get context data self id kwargs bar Bar objec
  • Click 事件在 IE/Firefox 中触发,但 Chrome 正在放弃事件分配

    我正在调试我的网络应用程序 但遇到了困难 我仅在 Google Chrome 中遇到一种行为 而我的 javascript 无能使我无法找到解决方案 我有一个 ASP 页面 其中包含
  • 配置 pymongo 使用字符串 _id 而不是 ObjectId

    我在用着pymongo用来自不同系统的旧信息播种数据库 我有很多这样的查询 studentId studentsRemote insert price price 在实际的 python 脚本中 studentId作为字符串打印 但在我使用