Bonjour,

Soit un document MongoDB :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
    "_id": "51228b11ba1106c56b000002",
    "description": "blah blah",
    "element": [
    {
        "_id": "51228b41ba1106c56b000004",
        "ttl": 365,
        "frequency": 10,
        "name": "toto"
    },
    {
        "_id": "51228b5bba1106c56b000005",
        "ttl": 365,
        "frequency": 10,
        "name": "tutu"
    },
    {
        "_id": "51228b5fba1106c56b000006",
        "ttl": 365,
        "frequency": 10,
        "name": "titi"
    }
}
J'utilise Mongoose, avec les schemas suivants :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
var Element = new Schema (
{
    name:        String,
    ttl:         Number,
    frequency:   Number
}) ;
 
var Item = new Schema (
{
   description: String,
   elements:    [ Element ]
}) ;
Ca fonctionne, je peux modifier tous les éléments du schema Item en fonction de l'id.
En revanche, je n'arrive pas à modifier les sous-documents "Element".

Si l'utilisateur m'envoie un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
req.params.id_item    = "51228b11ba1106c56b000002" ;
req.params.id_element = "51228b5fba1106c56b000006" ;
req.body              = { name: "mickey", ttl: "457" } ;
je ne parviens pas à modifier le sous élément
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
{
    "_id": "51228b5fba1106c56b000006",
    "ttl": 365,
    "frequency": 10,
    "name": "titi"
}
afin qu'il devienne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
{
    "_id": "51228b5fba1106c56b000006",
    "ttl": 457,
    "frequency": 10,
    "name": "mickey"
}
Auriez-vous une idée de comment procéder ?

Je vous remercie.