MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да добавите json във вложен масив на mongodb документ с помощта на Spring?

Тази заявка за актуализиране добавя JSON към вложения масив "SERVICES.VERSIONS.GROUPS.CUSTOMERS" , въз основа на определените условия на филтъра. Имайте предвид, че условията на вашия филтър насочват операцията за актуализиране към конкретния масив (от вложените масиви).

// JSON document to be added to the CUSTOMERS array
new_cust = { 
             "CUSTOMER_CONFIG_ID": "6", 
             "ACTIVATION_DATE": "31-03-2020", 
             "STATUS": "Y" 
}

db.collection.update( 
  { 
      "SERVICE_CATEGORY": "COMMON_SERVICE", 
      "SERVICES.SERVICE_NAME": "Authentication Service",
      "SERVICES.VERSIONS.VERSION_NAME": "AuthenticationServiceV6_3"
  }, 
  { 
      $push: { "SERVICES.$[s].VERSIONS.$[v].GROUPS.$[g].CUSTOMERS": new_cust } 
  },
  {
      multi: true,
      arrayFilters: [
          { "s.SERVICE_NAME": "Authentication Service" },
          { "v.VERSION_NAME": "AuthenticationServiceV6_3" },
          { "g.GROUP_NAME": "TEST GROUP" }
      ]
  }
);

Няколко неща, които трябва да отбележите, когато актуализирате документи с вложени масиви на повече от едно ниво на гнездене.

  • Използвайте оператора за всички позиции $[] и филтрираният позиционен оператор $[<identifier>] , и не $ позиционен оператор. С филтриран позиционен оператор посочете условията за филтриране на масива, като използвате arrayFilters параметър. Имайте предвид, че това ще насочи вашата актуализация към конкретния вложен масив.
  • За филтрирания позиционен оператор $[<identifier>] , идентификаторът трябва да започва с малка буква и да съдържа само буквено-цифрови знаци.

Препратки:

  • Оператори за актуализиране на масив
  • db.collection.update() с arrayFilters


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Премахване на дублиращи се записи с MapReduce

  2. използвайки низ за mongodb _id

  3. MongoDB на машина с Windows 7:Не може да се осъществи връзка

  4. Най-бързият начин за премахване на дублиращи се документи в mongodb

  5. Премахване на обект от вложен масив по множество критерии