Voici mon document d'applicationMettre à jour un document dans un document et à l'intérieur d'un document
{
"_id": "binary_stuff",
"Name": "MyApplication",
"Settings": [
{
"_id": "binary_stuff",
"Key": "ImportDirectory",
"Value": "C:\data",
"Overrides": [{
"_id": "binary_stuff",
"NewValue": "C:\anotherData"
}]
},
}
Je sais comment ajouter un paramètres, mais comment puis-sous-document-je ajouter une nouvelle Override « subsubdocument ».
J'ai essayé:
var query = Query.And(Query.EQ("_id", applicationId), Query.EQ("Settings._id", settingId));
var update = Update.AddToSetWrapped("Settings.Overrides", overrideViewModel.ToBsonDocument());
Run(database => database.Applications().Update(query, update, UpdateFlags.Upsert, SafeMode.True));
Il ne fait rien ...
Toute aide serait appréciée.
Merci les gars !!
vous avez besoin de équivalent de: db.yourcollection.update ({..} , {$ push: {'Settings.Overrides': {"_ id": "Morestuff", "NewValue": "Quelque chose"}}}) –
Salut @Remon van Vliet Je ne comprends pas ... – Gui
En fait, je obtenez une erreur lorsque ma requête est effectuée. J'ai: Safemode détecté une erreur: ne peut pas ajouter à tableau en utilisant le nom de champ de chaîne [Overrides] (réponse: {"err": "ne peut pas ajouter à tableau en utilisant le nom de champ de chaîne [Overrides]", "code": 13048 , "n": 0, "connectionId": 60, "ok": 1}) – Gui