我已經要求創建一個函數,它可以通過傳遞它的列名和相應的值來更新 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 感謝您的快速回復,通過一些更新,我得到了我想要的。

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
如果要查找不存在屬性的文檔,可以使用以下代碼:
var modelsWithoutItem = collection.Find(
Builders<DocModel>.Filter.Exists(m => m.Item, false)
);
或者如果您沒有強類型數據:
var modelsWithoutItem = collection.Find(
Builders<BsonDocument>.Filter.Exists("item", false)
);
- 2 回答
- 0 關注
- 263 瀏覽
添加回答
舉報
0/150
提交
取消