为了账号安全,请及时绑定邮箱和手机立即绑定

检查 MongoDb 中的列是否存在

检查 MongoDb 中的列是否存在

C#
函数式编程 2022-01-15 16:53:09
我已经要求创建一个函数,它可以通过传递它的列名和相应的值来更新 MongoDb 集合。我编写的函数(现在处于测试阶段)将接受列名、值、集合名称等。更新之前我想检查给定的集合是否存在并且提供的列名是否存在于该集合中,如果一切正常,请更新集合。我能够检查集合是否存在,但未能对列执行相同操作。我在 Mongodb 网站上找到了这个, { item : { $exists: false } } 但我没有找到执行相同操作的确切 c# 代码。c# 是否可以检查 MongoDb 中是否存在列?MongoDb 4.0 版是我现在使用的。注意:我没有任何强类型数据,因为该函数不知道集合及其持有的数据类型。目标是接受列名和值并更新到已传递给它的那些字段。
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

  var fieldExists = _collection.Find(Builders<BsonDocument>.Filter.Exists("item",true));

       if (fieldExists.CountDocuments() > 0){

               // yes document with this field is available

       }else{

               // No documents with that field name exists

       }

@john 感谢您的快速回复,通过一些更新,我得到了我想要的。


查看完整回答
反对 回复 2022-01-15
?
守着一只汪

TA贡献1872条经验 获得超3个赞

如果要查找不存在属性的文档,可以使用以下代码:


var modelsWithoutItem = collection.Find(

    Builders<DocModel>.Filter.Exists(m => m.Item, false)

);

或者如果您没有强类型数据:


var modelsWithoutItem = collection.Find(

    Builders<BsonDocument>.Filter.Exists("item", false)

);


查看完整回答
反对 回复 2022-01-15
  • 2 回答
  • 0 关注
  • 214 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信