gpt4 book ai didi

mongodb - 自动将 Mongodb ObjectId 映射到字符串和从字符串映射

转载 作者:IT老高 更新时间:2023-10-28 13:23:27 28 4
gpt4 key购买 nike

我正在使用 Monger 库从 Clojure 访问 Mongo 数据库。让我烦恼的一件事是在 ObjectId 实例和字符串之间来回切换。

例如,此代码 (mc/find-maps "posts"{}) 将评估为将 _id 条目的值设置为 ObjectId 类,而在我的应用程序中,我发现将它简单地用作我知道它是唯一的字符串更有用。

另一方面,对于像这样的表达式: (mc/find-map-by-id "posts"(new ObjectId id)) 我确实使用 String 对象作为 id 参数,我必须用它来构造 ObjectId 的实例。

有没有办法让 _id 的值在应用程序中的 Strings 和 mongo 端的 ObjectId 之间自动透明地转换?某种选项,当启用时,使用 ids 的字符串表示创建映射,反之亦然,当用作查询中的参数时,将 ids 的字符串表示转换为对象 ids?

如果没有,还有哪些其他可用的策略?

最佳答案

我在这一点上与您分享痛苦。取回 ObjectID 很烦人,因为您总是需要来回转换,如果您忘记了,就很难发现错误。

最好的办法可能是包装驱动程序代码以自动进行转换。因此,将 find、findOne、insert 替换为一个薄包装器,该包装器会查看类型并自动进行转换,无论您是进来还是出去。

很遗憾,我认为没有更简单的方法。

关于mongodb - 自动将 Mongodb ObjectId 映射到字符串和从字符串映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11475728/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com