EDIT: Не ища javascript способ сделать это. Я ищу способ MongoDB С# 2.0 сделать это (я знаю, что это может быть невозможно, но я надеюсь, что кто-то знает решение).
Я пытаюсь обновить значение элемента, встроенного в массив в основном документе в моем mongodb.
Я ищу строго типизированный способ сделать это. Я использую драйвер Mongodb С# 2.0
Я могу сделать это, щелкнув элемент, обновив значение, а затем снова вставив его. Это просто не кажется правильным; потому что я переписываю то, что могло быть написано тем временем.
Вот что я пробовал до сих пор, но не повезло:
private readonly IMongoCollection<TempAgenda> _collection;
void Main()
{
var collectionName = "Agenda";
var client = new MongoClient("mongodb://localhost:27017");
var db = client.GetDatabase("Test");
_collection = db.GetCollection<TempAgenda>(collectionName);
UpdateItemTitle(1, 1, "hello");
}
public void UpdateItemTitle(string agendaId, string itemId, string title){
var filter = Builders<TempAgenda>.Filter.Eq(x => x.AgendaId, agendaId);
var update = Builders<TempAgenda>.Update.Set(x => x.Items.Single(p => p.Id.Equals(itemId)).Title, title);
var result = _collection.UpdateOneAsync(filter, update).Result;
}