c# - MongoDB如何检查是否存在

标签 c# .net mongodb mongodb-.net-driver

我想知道如何使用 mongoDB 和 C# 检查对象是否存在。

我找到了一种方法,但由于 Any() 方法,我不得不使用 Linq,但我想知道是否可以在没有 Linq 的情况下这样做?

database.GetCollection<ApplicationViewModel>("Applications").Find(Query.EQ("Name", applicationName)).Any()

谢谢各位!

最佳答案

使用 $count运算符以避免内存问题,它不会将文档从数据库加载到内存中:

int count = items.FindAs<LedgerDocument>(Query.EQ("name", appName)).Count();

if(count > 0)
{
   //then doc exists
}

接线员 $exists在 mongodb 中可用于识别文档中存在某些字段,但您不能将查询传递给它:

database.GetCollection<ApplicationViewModel>("Applications")
                  .Find(Query.Exists("Name", true));

关于c# - MongoDB如何检查是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6411280/

相关文章:

node.js - 使用 Node.js 导入/导出 MongoDB

java - 如何更新 MongoDB 中的嵌套文档而不是使用 Spring Data Java

c# - 在 WinRT 中将 JSON 对象反序列化为运行时类型 (C#)

.net - .NET 3.5.1 中的 DocumentFormat.OpenXml 2.5 给出警告

.net - 我们可以用 Electron 边缘js强制加载.NET 4.7.2吗? .Net 4.5.2 在使用 TLS 1.0 时存在安全问题

c# - 如何将 WebPart 添加到 SharePoint 网站中的所有页面?

javascript - mongoDB node.js findAndModify 麻烦

c# - 如何获取类型的默认泛型委托(delegate)

c# - 反射找不到实现的方法

c# - 如何仅保存图片框中显示的图像