gpt4 book ai didi

mongodb - 是否可以单独使用对象 id 在 mongodb 中找到文档(不知道哪个集合)?

转载 作者:IT老高 更新时间:2023-10-28 12:30:02 31 4
gpt4 key购买 nike

在 MongoDB 中,对象 ID 很可能在集合中是唯一的。

那么是否可以单独使用对象 ID 在 Mongo 数据库中查询文档,不知道它在哪个集合中?

谢谢

最佳答案

正如您和@Sammaye 在评论中所说,ObjectID 可能是唯一的,因为(取自 mongodb site)

ObjectId is a 12-byte BSON type, constructed using:

a 4-byte value representing the seconds since the Unix epoch,
a 3-byte machine identifier,
a 2-byte process id, and
a 3-byte counter, starting with a random value.

所以几乎不可能相同。 (我似乎无法找到所有集合中的 3 字节计数器是否相同,或者每个集合是否有不同的计数器)

为简单起见,我们假设 ObjectID 对于数据库中的每条记录都是唯一的。

没有“一个查询”会在整个数据库中搜索记录。 Mongodb 没有默认方法来实现您的要求。

有关重要的解决方案,请参阅 this question


评论后更新

如果你不想多次查询数据库,你可以

  • 在数据库中查询所有集合名称。
  • 遍历所有集合名称并使用每个名称查询每个集合的唯一 ObjectID
  • 如果集合返回一个对象,则中断循环并返回该对象

(这只是描述如何做到这一点,因为你没有说明你使用什么编程语言来给你一个例子)

关于mongodb - 是否可以单独使用对象 id 在 mongodb 中找到文档(不知道哪个集合)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378028/

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