Ho una collezione mongo come:come aggiungere array esistente nella collezione esistente in MongoDB usando Java con nuovi valori
{
"_id": ObjectId("55cad746aed75601b4822cc9"),
"entityId": "12",
"entityType": "a",
"nameIdentity": [{
"fName": "abc",
"lName": "def",
"dob": "00",
"address": "xyz"
},
]
}
Sto usando mongodb java 3.0
conducente e cercando di abbinare e aggiornamento. Ad esempio: sto cercando di abbinare su entityId
se trovato poi aggiungere il nuovo nameIdentity
.
La seconda volta quando passo
{
"fName": "123",
"lName": "456",
"dob": "00",
"address": "789"
}
Per il mio entityId: 12
se corrisponde poi la mia nuova collezione dovrebbe in questo modo:
{
"_id": ObjectId("55cad746aed75601b4822cc9"),
"entityId": "12",
"entityType": "a",
"nameIdentity": [{
"fName": "abc",
"lName": "def",
"dob": "00",
"address": "xyz"
}, {
"fName": "123",
"lName": "456",
"dob": "00",
"address": "789"
}]
}
voglio aggiungere che nello stesso oggetto o la raccolta abbinato. Ma la sua sostituzione della matrice precedente e l'aggiunta di nuovo in questo modo:
{
"_id": ObjectId("55cad746aed75601b4822cc9"),
"entityId": "12",
"entityType": "a",
"nameIdentity": [
{
"fName": "123",
"lName": "456",
"dob": "00",
"address": "789"
}
]
}
Quando l'ID entità è abbinato Voglio tutto da aggiungere non aggiornato. Il codice che ho provato è:
mongoDatabase.getCollection("entity").findOneAndUpdate(
updateDocument, new Document("$set",entityDocument));
ho provato con $push
e $set
. Sta creando una nuova matrice nameIdentity
. Ma voglio aggiungere nello stesso array nameIdentity
corrispondente. Qualche suggerimento dove sto andando male?
Se sto passando più array per esempio nome {}, indirizzo {}, {} qualificazione, c'è un modo di scelta rapida per aggiornare o devo aggiungere tutti coloro manualmente query di aggiornamento? –
@ShaikMujahidAli Cosa intendi? vuoi spingere più oggetti in 'nameIdentity' con' entityId: 12'? in caso affermativo, crea una lista di tali valori e passa a '$ push'. – Vishwas
dopo aver identificato l'id di entità 12, ho bisogno di controllare fName, lName, indirizzo, dob esiste se non fa altro aggiungere come sopra. per favore, puoi aiutarla adesso? –