Mongo mise à jour de l'élément de tableau (.Conducteur NET 2.0)

EDIT:
Ne cherche pas le javascript moyen de le faire. Je suis à la recherche de la MongoDB C# 2.0 pilote de la façon de le faire (je sais que ça peut ne pas être possible; mais j'espère que quelqu'un connait une solution).

Je suis en train de mettre à jour la valeur d'un élément intégré dans un tableau sur le document principal de mon mongodb.

Je suis à la recherche d'un typage fort moyen pour ce faire. Je suis l'aide de la Mongodb c# 2.0 pilote

Je peux le faire en retirant l'élément, la mise à jour de la valeur, puis la réinsérer. Cela ne fonctionne tout simplement pas; car je suis l'écrasement de ce qui pourrait avoir été écrit dans l'intervalle.

Voici ce que j'ai essayé jusqu'à présent, mais avec pas de chance:

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;
}
  • double possible de MongoDB - mise à Jour d'un objet dans un Tableau imbriqué
  • ce n'est pas un c# question?
  • C'est toujours le même principe. Correspondre à l'élément de tableau dans la requête de la partie et l'utilisation de la position $ de l'opérateur dans la mise à jour de la partie. Je n'ai pas juste tirer au hasard que d'un sac.
  • Je peux lire les mongo de la documentation et de le faire avec javascript, mais, comme je l'ai dit dans ma question, je suis à la recherche pour le fortement typé façon de le faire et comme je sais que l'incorporation de chaînes de caractères javascript dans mon code C# n'est pas fortement typé.
  • Il y a toujours est un opérateur de position pour C#. Ce n'est pas "les chaînes de caractères javascript" il est "pointillé" et valable dans toutes les langues.
  • bien que prometteur. Pouvez-vous me diriger dans la bonne direction; depuis que je suis à défaut de trouver cela sur mon propre. D'où la question ci-dessus.
  • Et voici la Documentation: mise à Jour Intégré Champ