如何在查询.net

时间:2017-09-25 16:02:54

标签: c# .net mongodb objectid

我需要在不同的文档中插入(或创建)一个字段(MongoDB)。
这是我的代码:

var myDB = mclient.GetDatabase("MasterDB"); 
var collection = myDB.GetCollection<BsonDocument>("MasterCollection");
var list = await collection.Find(new BsonDocument())
                           .Limit(2) 
                           .Skip(1)
                           .ToListAsync();

foreach (var docs in list)
{               
    var updoneresult1 = await collection.UpdateManyAsync(
    Builders<BsonDocument>.Filter.Eq("_id", docs["_id"].ToString()),
    Builders<BsonDocument>.Update.Push("OfficeCode", 
    Convert.ToInt32(txtOfficeCode.Text)));     
}

1 个答案:

答案 0 :(得分:0)

我认为你需要添加: http://api.mongodb.com/csharp/current/html/M_MongoDB_Bson_BsonDocument_Add_2.htm

foreach (var docs in list)
{ 
    ....          
    docs.Add("OfficeCode", Convert.ToInt32(txtOfficeCode.Text));
    ....
}

PS我真的不知道你想在这里做些什么。

编辑:

在评论中,您说您无法通过_id进行匹配。尝试更改

docs["_id"].ToString()

ObjectId.Parse(docs["_id"].ToString())