MongoDB:使用不同的值进行更新和插入

2024-02-07

一些背景信息:我为每个用户都有一个文档,其中包含一个数组,其中包含与用户相关的最新 20 个事件。由于 MongoDB 没有此功能(限制文档内的数组),我将推送我的事件并弹出最新的事件。

我的问题:初始化文档(又名用空值填充数组)。我想原子地:

  • 创建包含具有 20 个空值的数组的文档,如果文档不存在,则推送一个值

or

  • 如果文档存在,则更新文档(在数组中推送一个值)

你有什么其他的建议?我想到的一个技巧是使用 :unique 和 :dropDups 声明一个索引,并始终进行初始化插入。

相关:MongoDB固定大小数组实现 https://stackoverflow.com/questions/4517950/mongodb-fixed-size-array-implementation


在一次操作中还不可能。你要http://jira.mongodb.org/browse/SERVER-991 http://jira.mongodb.org/browse/SERVER-991 or http://jira.mongodb.org/browse/SERVER-453 http://jira.mongodb.org/browse/SERVER-453.

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

MongoDB:使用不同的值进行更新和插入 的相关文章

  • 检索 mongoDB 文档中的空数组或 null

    我有我学校所有学生的收藏 每个文档都有一个sports列出每个学生从事的运动的数组属性 但该属性可能显示为sports or sports null或者根本不出现 如何检索属于上述三种情况之一的所有文件 如何向只有一项运动但未表示为数组的学
  • 带有卷的 docker 中的 Mongo db 持久化

    我正在尝试创建一个 mongo 数据库容器 但无法使数据持久化 这是我的 docker compose yml version 3 2 services mongodb image mongo 2 4 command smallfiles
  • Mongodb 通过查询和分组查找

    简单收集 id 123 name FooBar zone Bas id 456 name Alice zone Bas id 789 name FooBar zone Bas 首先 我构建一个查询来按名称查找所有元素 db collecti
  • Mongoose 模型 update() 与 save()

    有一个关于问题update vs save https stackoverflow com questions 39010045 mongoose update vs save 但它针对的是一些不同的东西 我猜 纯粹相关mongoose S
  • 无法连接到服务器 127.0.0.1:27017 连接尝试失败 MongoDB

    我正在使用 Ubuntu 操作系统 16 04 我正在使用命令启动 mongodb sudo service mongod start进而mongo 它为我生成了这个错误 MongoDB shell version v4 0 1 conne
  • 修订:算法和数据结构

    我需要通过修订来构建和处理数据的想法 例如 我有一个对象数据库 例如汽车 每个对象都有许多属性 这些属性可以是任意的 因此没有一个固定的模式来描述这些对象 这些对象可能保存为键值对 现在我需要更改对象的属性 我不想完全重写它 我希望能够返回
  • 如何从数组中删除重复的条目?

    在下面的示例中 Algorithms in C 出现两次 The unset修饰符可以删除特定字段 但如何从字段中删除条目 id ObjectId 4f6cd3c47156522f4f45b26f favorites books Algor
  • 什么是数据库池?

    我只是想了解数据库连接池的概念以及它是如何实现的 数据库联系池是一种用于保持数据库连接打开的方法 以便其他人可以重用它们 通常 打开数据库连接是一项昂贵的操作 尤其是在数据库位于远程的情况下 您必须打开网络会话 进行身份验证 检查授权等等
  • Scrapy - 持续从数据库中获取要爬取的url

    我想不断地从数据库中获取要爬行的网址 到目前为止 我成功地从基地获取了 url 但我希望我的蜘蛛继续从该基地读取 因为该表将由另一个线程填充 我有一个管道 一旦爬行 工作 就会从表中删除 url 换句话说 我想使用我的数据库作为队列 我尝试
  • Pymongo 批量插入

    我正在尝试批量插入文档 但批量插入时不会插入超过 84 个文档 给我这个错误 in insert pymongo errors InvalidOperation cannot do an empty bulk insert 是否可以批量插入
  • Node.js 检测两个猫鼬查找何时完成

    我正在尝试使用自动完成功能初始化两个输入library https www devbridge com sourcery components jquery autocomplete 当我加载页面时 我将触发 Ajax 来初始化两个输入文本
  • 如何在不运行 PostgreSQL 服务器的情况下初始化 PostgreSQL 数据库

    在初始化脚本中 我想初始化 PostgreSQL 目录 但在此阶段不需要 也不希望 正在运行的 PostgreSQL 服务器 如果我只是创建集群 作为用户postgres initdb D 但是 我还需要创建 PostgreSQL 角色 创
  • ArangoDB:(1 个具有多个边缘定义的图)Vs(每个图 1 个边缘定义)

    我想知道在一个图中拥有多个边定义与每个图都有一个边定义相比是否有任何优势 谢谢你的帮助 使用多个边缘定义而不是仅使用一个边缘定义有多种原因 显示内容差异 您可能需要不同的边缘集合bought and watched 不过 这也可以通过使用标
  • Mongoose 独特的验证不起作用。保存重复条目

    我正在开发一个 NodeJS 应用程序 其中express是框架 MongoDB是数据库 我正在使用猫鼬插件 我有一个父母模型 我已经添加了独特 真实到场 mobile 但是每当我添加相同的手机号码时 唯一性验证就会失败 除了保存重复的文档
  • 在 SQL 数据库中存储“列表”的最正确方法是什么?

    因此 我读了很多关于如何将多个值存储到一个列中是一个坏主意 并且违反了数据标准化的第一条规则 令人惊讶的是 这不是 不要谈论数据标准化 所以我需要一些帮助 目前我正在为我工 作的地方设计一个 ASP NET 网页 我想根据此人所属的 Act
  • 将域类从 GORM 独立模块导入到 Grails 中

    我有两块拼图 1 一个名为的无 Grails 项目core module使用独立的 GORM dependencies compile org grails grails datastore gorm mongodb 6 0 4 RELEA
  • 使用填充方法在 sails mongo 中进行深层关联?

    我是 sails js 的新手 我正在使用 sails js 与 Mongodb 我在我的 sails 应用程序中使用 populate 进行深层关联时遇到问题 我有这样的关系 Category has many to many relat
  • MongoDB:检查值是否为空或数组是否为空

    我想匹配所有不包含 公司 属性或 公司 值为空或空数组的文档 User find Company in null function err users if err throw err console log users length th
  • Mongodb MapReduce 选择最新日期

    我似乎无法让我的 MapReduce 缩减功能正常工作 这是我的地图功能 function Map day Date UTC this TimeStamp getFullYear this TimeStamp getMonth this T
  • 管理员未授权 Mongodb 执行 listDatabases 命令

    删除 mongodb 用户后 无法重新连接 mongo 没有 验证 我创造了超级用户 https docs mongodb org v2 6 reference built in roles superuser roles tomuser

随机推荐

  • 如何在git的post-receive钩子中处理分支上的文件

    我有一个远程服务器 我在上面创建了一个裸 git 存储库 我想创建一个钩子 以便给定的脚本在任何给定分支上收到的最新代码上运行 我知道post receive可以使用钩子来实现它 但是我想做以下事情 找到收到代码的分支 在临时位置检出代码并
  • Python:交织两个列表[重复]

    这个问题在这里已经有答案了 执行以下操作的 pythonic 方法是什么 我有两个清单a and b相同长度的n 我想形成一个列表 c a 0 b 0 a 1 b 1 a n 1 b n 1 c item for pair in zip a
  • jQuery / JavaScript 中的自定义滚动条数学

    我目前正在开发一个项目 该项目使用自定义滚动插件 由我编写 来允许元素在触摸设备以及桌面浏览器中滚动 一切都工作正常 包括 iOS 的速度和减速度 然而 剩下的唯一问题是当用户滚动时计算滚动条的顶部 或左侧 位置 我用以下公式计算了滚动条的
  • 在我的 Express.js Jest 测试中找不到内存泄漏

    我现在花了一些时间尝试在 Jest 测试中查找内存泄漏 尽管我已经成功解决了一些问题 但仍然有相当多的内存在测试套件之间泄漏 具体来说 当我npm test 所有测试套件 我得到以下输出 PASS src suite1 test ts 71
  • iPhone 消息应用程序中的上滑菜单是如何实现的?

    在我的 iPhone iOS 8 0 2 上的消息应用程序中 当您撰写消息并单击相机图标插入图像时 底部会出现一个 向上滑动 菜单 它包含一些按钮 以及我可以插入到消息中的最近拍摄的照片 这个菜单叫什么名字 已经可以通过本地课程获得了吗 图
  • 无法搜索联系人

    所以我制作了一个静态联系人列表 并尝试添加搜索栏 但是我无法使用搜索栏搜索联系人 当我单击搜索栏时 它会打开但随后关闭 键盘会弹出一会儿 然后就会关闭 这个想法是使搜索具有预测性 因此当输入名称时 它将根据数据库中的名称列出已关闭的名称 有
  • 删除 JSON 元素

    我想从 JSON 中删除 JSON 元素或一整行 我有以下 JSON 字符串 result FirstName Test1 LastName User FirstName user LastName user FirstName Ropbe
  • Haskell:映射函数应用

    我在 Haskell 中进行的部分计算会产生映射的函数列表Float to Float 我想对所有这些函数应用一个参数 如下所示 x Float functions Float gt Float map f gt f x functions
  • 如何检查空结构?

    我定义了一个结构体 type Session struct playerId string beehive string timestamp time Time 有时我给它分配一个空会话 因为 nil 是不可能的 session Sessi
  • matlab 脚本中是否使用了某些 matlab 例程?

    我正在运行一个大的 m 文件 该文件不是我自己编写的 并且取决于某些子函数 我想知道所有嵌套函数中的任何位置是否使用了特定函数 在我的例子中是函数 eig m 用于计算特征值 有没有快速的方法来做到这一点 亲切的问候 科恩 您可以使用半文档
  • 如何编写 GraphQL 查询以从 github 检索所有工作流程/运行

    如何编写 GraphQL 查询以从 github 检索所有工作流程 运行 我尝试下面的查询来获取节点 id organization login abc repositories first 100 nodes id name 和下面的查询
  • Microsoft Teams:获取用户的时区?

    我正在为 MS Teams 开发一个机器人 我希望了解用户的时区 以便在适当的时间 例如 不是在半夜 传递消息 我没有在机器人框架 REST API 中找到合适的东西 虽然我们收到的消息包含 clientInfo country 属性 这是
  • 枚举另一个会话上用户桌面的 Windows

    我有一个简单的问题让我发疯 我有一个用 C 编写的 Windows 服务 它应该在 XP Vista 和 7 上运行 并且能够枚举当前用户桌面的窗口 如果有 以进行监控 So far 我用过EnumDesktopWindows通过IntPt
  • XmlSerializer序列化接口的通用列表

    我正在尝试使用 XmlSerializer 来保存 List T 其中 T 是一个接口 序列化器不喜欢接口 我很好奇是否有一种简单的方法可以使用 XmlSerializer 轻松序列化异构对象列表 这就是我想要的 public interf
  • 使用 ColdFusion 对单点登录数据进行签名

    对于这篇文章的长度 我提前表示歉意 我对这个问题的了解还不够 无法正确确定具体问题实际上是什么 但无论如何 我们一直在使用 Leigh 提供的步骤和建议来调用我们的会员 API 来查询有关我们会员的信息 加入日期 会员类型等 here ht
  • 使用 Python 的 select 模块检查是否有更多数据可以从文件描述符中读取

    我有一个程序 它在线程中创建一个子进程 以便线程可以不断检查特定的输出条件 来自 stdout 或 stderr 并调用适当的回调 而程序的其余部分继续 这是该代码的精简版本 import select import subprocess
  • Toast 通知失败,模拟器

    我在这里使用 toast 通知示例 http code msdn microsoft com windowsapps Toast notifications sample 52eeba29 http code msdn microsoft
  • 将行添加到 WPF 数据网格,其中列直到运行时才知道

    我正在尝试将数据添加到数据网格 事实上 任何在网格中呈现数据的控件都可以 但列 名称和数字 直到运行时才知道 我知道如何创建的专栏 例如 DataGridTextColumn textColumn new DataGridTextColum
  • Eclipse Helios 忽略断点

    Eclipse 现在快把我逼疯了 这可能是一件微不足道的事情 但我就是不明白 每当我想添加断点时 常规图标都会在编辑器和断点视图中被划掉 正如您可能已经猜到的那样 这严格来说并不是一个图形问题 调试时断点会被忽略 断点的属性也没有帮助 任何
  • MongoDB:使用不同的值进行更新和插入

    一些背景信息 我为每个用户都有一个文档 其中包含一个数组 其中包含与用户相关的最新 20 个事件 由于 MongoDB 没有此功能 限制文档内的数组 我将推送我的事件并弹出最新的事件 我的问题 初始化文档 又名用空值填充数组 我想原子地 创