我想知道如何用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
}

Operator $exists in mongodb can be used to identfy that some field exists in a document, but you can't pass query to it:

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

Mongodb相关问答推荐

MongoDB:从集合页面数据中提取不同的值

MongoDB Aggregate:查找每个月的交叉日期范围的数量

在提供的文档(_Id)之后和之前,是否有一个Mongo操作来获取已排序(和/或过滤)集合中的文档计数?

mongoose正在抛出Schema的错误has';t已在next.js中注册

Tableau 与 Mongo DB Atlas by MongoDB 的连接缓存问题

如何在 kubernetes 中获取分片 mongodb 的备份

mongoDB文档数组字段中的唯一项如何

MongoDb $filter,然后获取非重复计数

MongoDB 使用 pymongo 收集 500K 文档的写入速度很差

有没有办法从另一条记录中插入一条记录

Mongodb 仅在值唯一时插入,否则更新 - 在 node.js 中

Mongodb将重音字符匹配为基础字符

使用 ObjectId.GenerateNewId() 还是离开 MongoDB 创建一个?

你如何让 mongo 在远程服务器上运行?

Springboot 使用 find*() 查询时出现 Mongodb 错误

使用 mongoimport 将日期(ISODate)导入 MongoDB

从每个组中 Select 前 N 行

直接从 URL 查询字符串提供的 mongo 查询有多危险?

120 个 mongodb 集合与单个集合 - 哪个更有效?

使用 C# 聚合 $lookup