生成_id即可。 MongoDB 中的 ObjectId 自动生成

2023-12-15

我正在开发一个创建永久链接的应用程序。我不知道如何将文档保存在 MondoDB 中。两种策略:

  1. ObjectId 自动生成

    MongoDB 自动生成_id。我需要创建一个索引permalink字段,因为我通过永久链接获取信息。我还可以使用以下命令访问 ObjectId 的创建时间getTimestamp()方法,所以datetimefields 似乎是多余的,但如果我删除这个字段,我需要两次调用 MongoDB,一次获取信息,另一次获取时间戳。

    {
      "_id": ObjectId("5210a64f846cb004b5000001"),
      "permalink": "ca8W7mc0ZUx43bxTuSGN",
      "data": "a lot of stuff",
      "datetime": ISODate("2013-08-18T11:47:43.460+-100")
    }
    
  2. 生成_id

    我生成_id与永久链接。

    {
      "_id": "ca8W7mc0ZUx43bxTuSGN",
      "data": "a lot of stuff",
      "datetime": ISODate("2013-08-18T11:47:43.460+-100")
    }
    

我看不出使用 ObjectId 有任何优势。我错过了什么吗?


ObjectIds 适用于集合中的每个文档没有唯一键的情况。它们是独一无二的,因此您不必担心冲突,并且它们在大型部署中分片相当好,无需太多担心(它们各有利弊,阅读更多here).

The ObjectId还包含客户端的时间戳ObjectId已生成(除非数据库服务器配置为生成所有密钥)。这样,正如您所注意到的,您可以使用时间戳来执行一些日期操作。但是,如果您计划使用聚合框架,您会发现无法使用ObjectId当前在任何日期操作中(issue)。如果您想使用 AF,您将需要第二个包含日期的字段,不幸的是,它与ObjectId的内在价值。

如果您可以放心_id你生成的是唯一的,那么没有太多理由使用ObjectId在你的数据结构中。

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

生成_id即可。 MongoDB 中的 ObjectId 自动生成 的相关文章

  • 使用 Javascript 和 Mongodb 对时间序列数据重新采样

    时间序列数据的数据集需要从具有不规则时间间隔的数据集转换为规则时间序列 可能使用插值和重采样 蟒蛇的pandas Dataframe resample http pandas pydata org pandas docs stable ge
  • 在 Windows 7 - 64 位上安装 Mongodb

    我是 mongodb 的新手 不知道如何安装它 因为我找不到视频或任何有用的资源来实现相同的目的 请帮助我在 Windows 7 上安装 mongodb 并提供确切的步骤 我尝试从该网站下载最新版本的 mongodb 但不成功 提前致谢 R
  • 如何在 MongoDB v3.0.5 中创建用户

    我需要在 mongodb 中为我的数据库创建一个用户 但似乎我无法让它工作 我已经在我的 Windows 7 机器上安装了 mongoDb v3 0 5 根据本文 https docs mongodb org v3 0 tutorial a
  • 在 MongoDB 中,如何根据嵌入对象中的属性对文档进行排序?

    在我的产品集合中 我可以找到已在 GB 地区发布的所有产品 gt db products find release region GB pretty id foo release region GB date ISODate 2012 03
  • 设计 Cassandra 数据模型的最佳实践是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 以及需要避免哪些陷阱 您有任何交易中断吗 例如 我听说导出 导入 Cassandra 数据非常困难 这让我想知道这是否会妨碍将生产数据
  • mongoDB白名单IP

    我看到类似的帖子 但没有一个能帮助我解决我的问题 在学习了从头开始构建 MERN 应用程序的 Udemy 教程后 我陷入了 mongoose 连接的困境 这是我的 index js 代码 const express require expr
  • 如何在 SQL 中存储目标(例如 RPG Quest)

    今天有人问我他们应该如何将任务目标存储在 SQL 数据库中 在这种情况下 请考虑角色扮演游戏 目标可能包括以下一些内容 发现 地点 杀死 n MOB 类型 获取 对象 的 n 个 实现 技能组 中的 技能 你在角色扮演游戏中获得的所有其他东
  • 指向 Twitter 用户的 URL 链接(包含 ID,而不是姓名)

    我想要一个指向我的 Twitter 页面的链接 该页面使用我的 Twitter ID 而不是 Twitter 名称来引用它 这是因为我想将链接构建到应用程序中 并且该帐户的 Twitter 名称将来可能会更改 在解决这个问题一段时间后 找到
  • Node.js 重用 MongoDB 参考

    我无法理解 Node js 例如 MongoDB 访问 这是我得到的 mydb js var mongodb require mongodb server new mongodb Server staff mongohq com 10030
  • MONGODB [DEBUG] 游标的cursor.refresh() 7078636577051629992

    更新大型 json 列表时 出现以下错误 2012 04 01T09 34 00 00 00 app run 1 MONGODB DEBUG cursor refresh for cursor 7078636577051629992 201
  • 未找到“MongoId”类(带有 MongoDB Doctrine 的 Zend 框架)

    我目前正在尝试将 MongoDB 与 ZendFramework 中的 Doctrine 集成 我做了很多教程 在 StackOverflow 或其他地方 但没有任何效果 我一步步按照教程进行操作 http www bigwisu com
  • 在 mongodb 和 nodejs 中对博客和评级进行建模

    我有一个博客集合 其中包含用户给予的标题 正文和综合评分 另一个集合 评级 其架构引用了博客 以对象 ID 的形式对博客进行评级 如果有的话 的用户以及他们给出的评级 即 1 或 1 当特定用户按照 最新优先 的顺序浏览博客时 比如每页 4
  • 查询 MongoDB 集合中的字段。

    我正在尝试查询 mongodb 集合中的特定字段 这是我的代码和输出 Mongo m new Mongo DB db m getDB mydb DBCollection coll db getCollection student addin
  • 按一个字段聚合,选择另一个字段最大值的文档作为集合

    使用聚合框架 获取每个分组的字段最大值的文档的最佳方法是什么 因此使用下面的集合 我希望具有为每个具有最新日期的 group id 返回一个文档的功能 第二个清单显示了所需的结果 group id date 1 11 1 12 1 11 2
  • Java/MongoDB 按日期查询

    我将一个值作为 java util Date 存储在我的集合中 但是当我查询以获取两个特定日期之间的值时 我最终得到的值超出了范围 这是我的代码 插入 BasicDBObject object new BasicDBObject objec
  • C# Mongo DeleteMany - 不使用类

    我在 MongoDB 中有一个普通的 不是 GridFS 集合 我需要访问和删除一些文档 我想 需要在不使用类的情况下执行此操作 昨天 今天尝试了一些事情 并在网上进行了很多搜索并尝试了很多事情 无法弄清楚为什么 deletemany 对我
  • MongoDB:如果使用 $addToSet 或 $push,是否应该预先分配文档?

    我一直在研究 MongoDB 我知道强烈建议在插入时完全构建 预分配 文档结构 这样将来对该文档的更改不需要移动该文档磁盘周围 这在使用 addToSet 或 push 时适用吗 例如 假设我有以下文档 id rsMH4GxtduZZfxQ
  • 一次更新猫鼬中的多个文档

    我有一个用户文档数组 每个用户都有关注者属性 它是一个数字 我只想将此属性增加 1 然后立即更新数据库中的所有这些用户文档 更多细节 在请求中 我有一组用户 id 我使用这些 id 进行查询以获取一组用户文档 const users awa
  • 如何在 Ubuntu VirtualBox 中运行 Meteor 应用程序并使用 Windows 主机上的编辑器进行编辑?

    我希望在运行 Ubuntu 的 virtualbox 来宾中运行一个用于开发目的的流星服务器 该项目将位于主机上的一个文件夹内 该文件夹将共享给来宾 该文件夹本身位于 Dropbox 文件夹内 这样我可以在多个虚拟机和工作站之间共享开发 但
  • Node js mongodb 删除错误“key $lte 不得以 '$' 开头”

    db collection session remove timestamp lte a function err docs console log err console log docs Version mongodb is 2 6 5

随机推荐

  • 如何从 JSF 数据表内的 selectOneMenu 获取值?

    我有一个包含一堆行的 JSF 数据表 每行内部都有一个 selectOneMenu 如下所示
  • 跨 PHP、MySQL 等管理日期的最佳方法是什么?

    我的服务器在达拉斯 我在纽约市 PHP 和 MySQL 都有用于设置时区的配置变量 我如何让他们一起工作 我应该在 MySQL 中存储哪些日期 如何让 PHP 根据用户的偏好来处理日期更改 请记住 我认为我从未让 PHP 显式设置过日期 它
  • 从 ASMX Web 服务返回 JSON,无需 XML 包装器?

    我需要从 C Web 服务获取 Json 数据 我知道有几个基于此的问题 相信我 我已经阅读了很多 但只是让我更加困惑 这就是我所做的 在我的网络服务中 我包括 System Web Script Services ScriptServic
  • 是否可以为内嵌文本创建框阴影效果?

    我想创建这样的效果 有没有办法通过 CSS JS 来做到这一点 非常感谢 我是网页设计的新手 在过去的几个小时里我一直在努力解决这个问题 下面是一种仅使用 CSS 即可实现文本多行 填充 突出显示行为的方法 这是基于其他地方找到的 box
  • python 线程 - 迭代 n 个任务时始终有 x 个活动线程

    我基本上想做的是 import threading import Queue def test thread elem q q put elem 2 a 1 2 3 4 5 6 7 8 q Queue Queue results for x
  • 我可以在 __new__ 或 __init__ 期间创建类属性吗?

    我想做这样的事情 但到目前为止我还没有取得多大成功 我想让每个 attr 成为一个仅在访问时计算 lazy eval 的属性 class Base object def init self for attr in self myattrs
  • 删除Python字典中的重复值

    我在 Stack Overflow 上发现了这个问题从字典中删除重复项另一个问题中的人也有我同样的问题 我尝试了他们给他的解决方案 但没有一个有效 你能帮助我吗 这是我的清单 然后这是我的代码 def printed filename da
  • 获取 WordPress 中激活插件的列表并从管理菜单中删除插件链接

    是否可以在 WordPress 中获取激活插件列表并将其从管理菜单栏中删除 我想从管理栏中删除所有激活插件链接 找出页面并替换your plugin page 这将列出所有激活的插件 apl get option active plugin
  • 更改子图上的刻度数

    如果我有一个子图 如何更改其刻度数 我不知道数据的最大值和最小值 我的代码是 azal rif add subplot 111 azal plot eels 10 9 averspe label data azal plot eels 10
  • C#:创建单个机器人服务以支持多个机器人应用程序

    该代码位于该网站上https www microsoft com reallifecode 2017 01 10 creating a single bot service to support multiple bot applicati
  • 没有为 Rack::Session::Cookie 警告提供秘密选项?

    我在 Fedora 17 下运行 Rails 3 2 3 Ruby 1 9 当我运行时 我收到此警告rails s 我该如何解决 安全警告 没有向 Rack Session Cookie 提供秘密选项 这构成了安全威胁 强烈建议您 提供一个
  • C++ 类中的成员是否保证是连续的?

    C 中的类成员是否保证是连续的 我尝试使用几乎所有流行的 C 编译器运行以下代码 并且all其中的结果是 4 它是变量 y 的相对地址 这是巧合 还是语言规范保证如此 难道编译器不会让成员 x 和 y 与类基本地址连续 彼此连续吗 请注意t
  • HTML5 - 拖放 div 和内部图像

    我有这种类型的元素 div style margin 20px background red height 400px width 400px a href target blank img style margin 40px src ht
  • 内存错误 Numpy/Python 欧几里得距离

    我正在尝试使用 numpy 和 python 运行 K 均值聚类算法 但如果我使用较大的 K 值 任何大于 10 的值似乎都会导致错误 就会不断遇到内存错误 我有两个大小为 42000 784 数据集 和 K 784 质心 的 numpy
  • 动态更改反应模式数据

    我有一个父组件 App js和一个子组件 MealModal js 当用户单击特定的餐食卡时 它会引发一个模式 该模式应显示有关餐食的更多信息 因此 我尝试找到一种方法来动态更改模态数据 具体取决于单击的餐卡 我尝试将餐食 ID 传递给on
  • 如何在循环中使用 woocommerce 数据属性

    我有一个自定义产品类型和自定义循环用于列出 woocommerce 产品 query args array post type gt product tax query gt array array taxonomy gt product
  • 在 64 位 Windows 10 上安装 OpenSSL for MSVC2017

    pro LIBS LC Qt Tools OpenSSL Win x86 lib llibssl LIBS LC Qt Tools OpenSSL Win x86 lib llibcrypto INCLUDEPATH C Qt Tools
  • 在 Windows 上使用 php 和 pear 发送邮件

    我正在尝试使用 php 脚本发送电子邮件 但收到错误这是我的代码 我正在使用 xampp netbeans 和 windows 我在 php ini 文件中包含了 pear 但仍然有错误任何想法 require once Mail php
  • rapply 到 R 中的嵌套列表

    我无法对嵌套列表进行说唱 以下是列表中一个元素的示例结构 F01 List of 7 0 data frame 16 obs of 3 variables lengths Factor w 8 levels 1 2 4 5 1 2 3 4
  • 生成_id即可。 MongoDB 中的 ObjectId 自动生成

    我正在开发一个创建永久链接的应用程序 我不知道如何将文档保存在 MondoDB 中 两种策略 ObjectId 自动生成 MongoDB 自动生成 id 我需要创建一个索引permalink字段 因为我通过永久链接获取信息 我还可以使用以下