MongoDB从子文档中删除子文档

2024-04-05

我使用 MongoDB 的 10gen C# 驱动程序,我想从子文档中删除子文档。我不知道该怎么做。

这是我的文档的示例

{
  "_id": "binary_stuff",
  "Name": "MyApplication",
  "Settings": [
    {
      "_id": "binary_stuff",
      "Key": "ImportDirectory",
      "Value": "C:\data",
      "Overrides": [{
             "_id": "binary_stuff",
             "Name": "PathDirectory",
             "Value": "C:\anotherData"
       }]
    },
}

我想删除名称为 PathDirectory 的 Override。这是我写的查询,但它不起作用。我没有错误。

var query = Query.And(Query.EQ("_id", applicationId), Query.EQ("Settings.Key", "ImportDirectory"), Query.EQ("Settings.$.Overrides.Name", "PathDirectory"));
Run(database => database.Applications().Remove(query));

谢谢你的帮助。 约翰


您应该使用 $pull 操作从数组中删除项目。

        var query = Query.And(Query.EQ("_id", applicationId),
                         Query.EQ("Settings.Key",  "ImportDirectory"));
        var update = Update.Pull("Settings.$.Overrides", new BsonDocument(){
            { "Name", "PathDirectory" }
        });
        database.Applications().Update(query, update);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB从子文档中删除子文档 的相关文章

  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • MongoDB 聚合:如何检查数组中是否存在包含多个属性的对象

    我有一个对象数组 我想检查是否有一个对象与多个属性匹配 我尝试过使用 in and and但它并没有按照我想要的方式工作 这是我当前的实现 https mongoplayground net p dEQp2Q4DW0j 我有一个像这样的数组
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • 如果使用 SingleOrDefault() 并在数字列表中搜索不在列表中的数字,如何返回 null?

    使用查询正数列表时SingleOrDefault 当在列表中找不到数字时 如何返回 null 或像 1 这样的自定义值 而不是类型的默认值 在本例中为 0 你可以使用 var first theIntegers Cast
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • 求解具有可压缩质量守恒的一维纳维斯托克斯问题(液压阻尼器)

    I would like to solve a 1D Navier equation on a cylindrical imposed tubes cartesian cordinates 流动沿 y 方向 右室压力 p1 和左室压力 p2
  • Cordova:找不到plugin.xml

    我正在尝试从我的 coordova 文件中删除此插件 但遇到了此问题 Error Cannot find plugin xml for plugin org apache cordova file transfer Please try a
  • 超出最大调用堆栈大小。在对话框中打开

    在我的项目中 我有一个对话框 显示两个按钮 确认和取消 操作 但是 当出现这种情况时 如果我移动或单击具有与我关联的功能的按钮 则会导致此错误 未捕获的范围错误 超出最大调用堆栈大小 这是显示对话框的函数 displayConfirmMes
  • 受保护的内部类在类内工作但不在类外工作

    我尝试了一些事情 想知道为什么会这样 假设我在命名空间 n 中有一个名为 A 的类 我试图创建受保护的内部类 B namespace n public class A public A protected internal class B
  • 使用 Mockito 动态返回值

    通常在编译时定义 Mockito 模拟的返回值 即静态地 MyClass myClass Mockito mock MyClass class when myClass myMethod thenReturn 0 100 200 有没有办法
  • 查找具有其他字符串的所有字符的子字符串的最小长度的算法

    我有两个字符串 字符串1 hello how are you 字符串2 olo 包括空格字符 Output lo ho hello ho你是谁 lo ho是唯一包含 string2 的所有字符的子字符串 任何人都可以为此提出一个好的算法 我
  • 什么是 AWT-Windows 线程?

    当我使用 AWT 时 在调用Toolkit getDefaultToolkit 我已经打印了程序中当前正在运行的线程 我想知道那是什么AWT Windows在后台运行的线程 它有什么作用以及为什么有6优先事项 另外 该行 Thread AW
  • 动态句子中的单词倒序

    我有几个这样的标签 a class classCover href 1 Comment a 我想颠倒一下单词的顺序 Comments 1 我的功能是这样的 但不起作用 classCover each function this text s
  • HSQLDB / Spring 单元测试不回滚

    我正在使用 Spring 的嵌入式数据库 默认数据库是 HSQLDB 来运行一些单元测试 我的情况如下
  • 无权在 mongodb 上查询 admin.system.namespaces

    我启动一个新的 mongo 实例 创建一个用户 对其进行授权 但是当我运行 show collections 时 系统说该 id 未授权 我不知道为什么 mongo admin MongoDB shell version 2 4 3 con
  • 将 Autofac 添加到 WPF MVVM 应用程序

    我似乎无法找到解决这个问题的方法 我已经看到了几个与此相关的问题 但没有一个真正给我解决方案 我对 Autofac 完全陌生 并没有真正做过太多 WPF MVVM 但了解基础知识 我有一个 WPF 应用程序 使用 ModernUI for
  • ASP.NET Core MVC 相当于启动操作特定页面

    In ASP NET Webforms or ASP NET MVC项目中 我可以在按F5进行调试时选择浏览器中正在调用的页面 路由 如下图所示 相当于什么ASP NET Core MVC 我在用着IIS Express with SSL用
  • 错误:如果没有列“date_time”(在分区中使用),则无法创建唯一索引

    我刚开始使用时间刻度数据库 https www timescale com 与 postgresql 我有一个名为storage db其中包含一个名为day ahead prices 安装 timescaledb 后 我正在关注从同一个 p
  • angularjs从json文件中获取ng-repeat数据非常慢

    我有一个 json 文件 其中包含大约 8000 个联系人 使用 ng repeat 使用 angularjs 获取所有数据需要很长时间 有解决办法吗 检索如此大的记录时 您不能期望有很高的速度 您可以使用以下方法优化 ng repeat
  • 我的线程可以帮助操作系统决定何时将其上下文切换吗?

    我正在 Linux 上用 C 开发一个线程应用程序 它试图实现实时 根据心跳执行操作 或者尽可能接近实时 在实践中 我发现操作系统正在交换我的线程 并导致切换时延迟长达十分之一秒 从而导致心跳不规则 有没有一种方法可以让我的线程向操作系统暗
  • 在 Visual Studio Code 中调试 C++ 时如何读取输入?

    我在用着VSCode用于调试我的CPP程序在MacOSX 我有2个程序 Program1 int main string a a a a b cout lt
  • 如何:仅 100% 高度表滚动 tbody

    是否可以使用 CSS 滚动 100 高度表格的内容而不是标题 并且仅将滚动条显示到 tbody 内容的一侧而不是标题行 谢谢 我希望现在还不算太晚 你还活着 从那时起事情已经有了很大的改善 您可以使用 table display inlin
  • 如何在仅标头库中拥有静态数据成员? [复制]

    这个问题在这里已经有答案了 在非模板化库类中拥有静态成员的最佳方法是什么 而不将定义成员的负担强加给类用户 假设我想提供这个课程 class i want a static member static expensive resource
  • js中的parcel和全局变量

    我有一个简单的 HTML 文件 其中包含一些简单的 javascript 文件 没有框架 没有模块 有一个主 JS 文件和其他 JS 文件中的辅助函数 当我将其作为静态站点打开时 一切正常 一个文件中的 JS 代码能够调用另一文件中定义的函
  • MongoDB从子文档中删除子文档

    我使用 MongoDB 的 10gen C 驱动程序 我想从子文档中删除子文档 我不知道该怎么做 这是我的文档的示例 id binary stuff Name MyApplication Settings id binary stuff K