Saya memiliki struktur ini:

{
"_id": "blablabla",
"UUID": "50ED0565C5BF",
"Email": "foobar@bar.ca",
"FirstName": "Bacel",
"LastName": "ELbs",
"ClientID": "sa-sa",
"UserSettings": {
    "dateRangeMode": "1",
    "skillsMode": "1",
    "CalendarViewMode": "One Month"
},
"Filters": [{
    "Type": "Calendar",
    "Filter": [],
    "DefaultFilterID": ""
}, {
    "Type": "Calendar",
    "desc": "test",
     "Filter": [],
    "isDefault": false

}]

}

Tujuan saya adalah pertama menyisipkan satu objek baru ke array Filter dan menyisipkan beberapa item ke Filters.Filter larik tersemat :

Jadi saya mencoba pendekatan berikut:

static async saveFilter(UUID, Type, desc, isDefault, aFilters) {
     //let objectID  = UUID.replace(/-/g, "");
    return await user.update({
         UUID: UUID
       }, {
         $push: {
           Filters: {
             Type: Type,
             desc: desc,
             isDefault: isDefault
           },
           "Filters.Filter": ["a","b","c"]
         } 
        });
   }

Saya terus mengalami kesalahan ini:

Tidak dapat membuat bidang 'Filter:' di elemen {Filter: [ { Ketik: "Kalender", Filter: [], DefaultFilterID: "" }, { Ketik: "Kalender", desc: "test", isDefault: false } ]}

Tapi saya tidak ingin membuat bidang baru, saya hanya ingin menambahkan elemen,

Output yang diinginkan adalah seperti:

{
"_id": "blablabla",
"UUID": "50ED0565C5BF",
"Email": "foobar@bar.ca",
"FirstName": "Bacel",
"LastName": "ELbs",
"ClientID": "sa-sa",
"UserSettings": {
    "dateRangeMode": "1",
    "skillsMode": "1",
    "CalendarViewMode": "One Month"
},
"Filters": [{
    "Type": "Calendar",
    "Filter": [],
    "DefaultFilterID": ""
}, {
    "Type": "Calendar",
    "desc": "test",
     "Filter": [],
    "isDefault": false

},
{
    "Type": "Tower",
    "desc": "Tesla",
     "Filter": ["a","b","c"],
    "isDefault": false

}]
0
napi15 17 November 2020, 07:04

1 menjawab

Jawaban Terbaik

Apakah ini yang kamu cari? (taman bermain)

db.users.update({
  UUID: UUID
},
{
  $push: {
    Filters: {
      Type: Type,
      desc: desc,
      isDefault: isDefault,
      "Filter": [
        "a",
        "b",
        "c"
      ]
    }
  }
})
1
Minsky 17 November 2020, 04:45