MongoDB C# foreach BsonElement

2024-02-15

我有一个 C# 类,我实例化并使用它在集合中执行 CRUD 操作

public class Property
{
   [BsonId]
   public long id { get; set; }

   [BsonElement("address_line")]
   public string address_line { get; set; }
   [BsonElement("city")]
   public string city { get; set; }
   [BsonElement("zip")]
   public string zip { get; set; }
}

我希望能够使用 foreach 循环并使用 $set 构造更新命令而不指定每个元素,如下所示:

var updateValues = new List<UpdateBuilder>();

foreach (var element in property.Elements)
    updateValues.Add(Update.Set(element.Name, element.Value));

collection.Update(Query.EQ("_id", property.id), Update.Combine(updateValues));

我这可能吗?


这似乎有效:

var updateValues = new List<UpdateBuilder>();

foreach (var element in property.ToBsonDocument().Elements)
{
   if (element.Name != "_id") 
   { 
       updateValues.Add(Update.Set(element.Name, element.Value));
   }
}

collection.Update(Query.EQ("_id", property.id), Update.Combine(updateValues));

不确定是否有更好的解决方案,这避免了链接 .Set() 命令,尽管我需要检查元素是否不是像 _id 那样只读

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

MongoDB C# foreach BsonElement 的相关文章

随机推荐

  • java中的自动完成如何与反射一起工作?

    我听说 Eclipse 使用反射来提供自动完成功能 但是它实际上是如何工作的 我搜索了 Google 但没有找到关于它的好文章 任何人都可以解释一下过程或为我提供任何有用的文章吗 谢谢进步 反射 API 只能告诉您正在运行的代码 或者至少
  • 在 Android cordova 应用程序中从 javascript 更改 KeepScreenOn

    我正在尝试从我的 cordova 应用程序控制屏幕超时 该应用程序播放视频 当应用程序播放视频时 我想关闭屏幕超时 当视频暂停或他们正在做其他事情时 我想将其重新打开 如果我在 OnCreate 中设置 KeepScreenOn 标志 它可
  • 处理时间窗口不适用于 Apache Flink 中的有限数据源

    我正在尝试将一个非常简单的窗口函数应用于 Apache Flink 中的有限数据流 本地 无集群 这是例子 val env StreamExecutionEnvironment getExecutionEnvironment env fro
  • 使用 xib 字符串文件本地化的 UiTextView

    我在 xCode 中使用基本国际化来管理应用程序中的多种语言 在 xib 文件中我有这个对象 Xrj 9E 2VK it s an UITextView 在相应的字符串文件中 Xrj 9E 2VK text text translated
  • JBoss 垃圾邮件 XA 恢复警告

    我正在运行一个 JPA Spring 应用程序 该应用程序连接到 Microsoft SQL Server 上多个启用 XA 的数据源 一切工作正常 全局事务正确启动并根据需要回滚 但是 JBoss 有时会变得疯狂 每隔几秒就开始发送以下警
  • 在自定义列表视图中显示联系号码和联系人姓名

    谁能告诉我如何在自定义列表视图中显示电话号码和联系人姓名 代码粘贴在下面 import android app Activity import android database Cursor import android net Uri i
  • 用 SpaCy 中的标签替换实体

    SpaCy 是否可以用其标签替换 SpaCy NER 检测到的实体 例如 我一边吃苹果 一边玩我的苹果 Macbook 我已经使用 SpaCy 训练了 NER 模型来检测 水果 实体 并且该模型成功地将第一个 苹果 检测为 水果 但没有将第
  • python 中的测地线缓冲

    给定土地多边形作为Shapely https pypi python org pypi Shapely MultiPolygon 我想找到代表例如的 多 多边形海岸线周围12海里缓冲区 使用匀称buffer方法不起作用 因为它使用欧几里德计
  • 在析构函数中尝试 Catch 块

    在阅读 Hurb Sutter 的 More Exceptional C 时 我偶然发现了以下代码 Example 19 5 Alternative right solution T Close code that could throw
  • Spring-Security:身份验证后调用方法

    我想跟踪用户何时登录我的应用程序 我有一些代码想在用户通过身份验证后立即执行 问题是 我不知道应该在哪里调用它 spring security 有办法在身份验证后调用方法吗 可能对某人有用 对于 Spring 3 配置安全性
  • RMarkdown:UTF-8 适用于 Knit 按钮,但不适用于 render()

    我正在 RMarkdown 中工作 尝试渲染一个包含一些 UTF 8 字符的文档 当我按下 RStudio 中的 Knit 按钮时 一切都运行良好 但是当我使用 render 函数时 UTF 8 会丢失 这是可重现代码的一小段 output
  • appCompat v7 中的 LinearLayoutCompat 是什么?

    在Android平台的支持库appCompat v7中 有一个android support v7 widget LinearLayoutCompat http developer android com reference android
  • 带有路径参数的 SoapUI REST Web 服务模拟

    我正在尝试为 SoapUI 上的 POST 方法创建一个模拟 Web 服务 我创建了一个 REST 项目 然后创建了一个 MockService 一个 MockAction 并定义了几个响应和资源路径 如果我定义一个相对于我的服务的固定常规
  • 自定义 Cython 生成的 .so 文件的位置

    我有一个 Cython 包 其中包含 C 库的包装器 这是包的树形结构 package api pxd wrap pyx setup py wrapper init py wrap py Doing python setup py buil
  • 尝试部署节点时出错:“java.lang.IllegalArgumentException:无法识别的算法:1.2.840.10040.4.1”

    我开发了一个 Cordapp 并尝试将其作为节点部署到我的工作站 我按照指示操 作https docs corda net deploying a node html windows installing and running corda
  • 带总和的多重左连接

    我正在尝试在 sql 查询中使用 Left Join 在表中显示包含 3 个表总和的信息 带有数据表插件 我使用以下查询成功编辑服务器端查询并通过两个表之间的第一个连接 t1 budget t2 budget changes 显示正确的数据
  • wxHaskell 和 Gtk2HS 的相对优点是什么?

    哪个更适合使用 Haskell wxWidgets 开发 GUI 应用程序 通过wx哈斯克尔 http haskell org haskellwiki WxHaskell 或 GTK 通过Gtk2HS http www haskell or
  • UITableView 在视图出现之前重置其背景颜色

    我正在使用可能有点奇特的方式来初始化我的 UI 组件 我以编程方式创建它们 其中有一个 UITableView 实例 我在初始化时立即设置其背景颜色 如下所示 class MyViewController UIViewController
  • 如何在 sqlalchemy 中比较日期?

    我有以下简单的设置 其中 fromDate 和 toDate 是格式为 YYYY MM DD 的字符串 class SomeType Base date Column DateTime def findAll fromDate toDate
  • MongoDB C# foreach BsonElement

    我有一个 C 类 我实例化并使用它在集合中执行 CRUD 操作 public class Property BsonId public long id get set BsonElement address line public stri