Mam dokument "właściciel", który może mieć "n" liczba obozów i obozów mają "instruktorzy" a instruktorzy mają "klasy". Wcześniej próbowałem tego dokonać za pomocą zagnieżdżonych tablic (patrz link do mojego wpisu poniżej), jednak nauczyłem się, że operator pozycyjny "$" nie zagnieździ się tak głęboko. MongoDB: Adding an array into an existing arrayMongoDb: Jak wstawić dodatkowy obiekt do kolekcji obiektów?
Jednak dowiedziałem się, że obejście tego problemu polegałoby na użyciu kolekcji obiektów zamiast tablic. Zakładam, że muszę użyć "update" z "$ set", aby dodać dodatkowe "obozy", jednak za każdym razem, gdy robię wszystko, to zastępuję (aktualizuję) poprzedni obóz, który został wstawiony.
Poniżej jest hierarchiczna struktura usiłuję osiągnąć:
owner = {
firstName: 'john',
lastName: 'smith',
ownerEmail: '[email protected]',
camps : {
{
name: 'cubs-killeen',
location: 'killeen'
},
{
name: 'cubs-temple',
location: 'temple'
},
instructors : {
{
firstName: 'joe',
lastName : 'black'
},
{
firstName: 'will',
lastName : 'smith'
}
}
}
}
Mam również próbuje następujące:
db.owners.update({ownerEmail:'[email protected]'}, {$set: { camps:{ {name:'cubs-killeen'} } }})
ale to generuje identyfikator {nieoczekiwany błąd.
Każda pomoc z przykładowymi komendami mongo, aby osiągnąć powyższą strukturę, byłaby najbardziej doceniana.
V/R
Chris
To nie są ważne dokumenty. Nie możesz mieć nienazwanych obiektów zagnieżdżonych, jak próbujesz zrobić z "obozami" i "instruktorami". – JohnnyHK
miałeś na myśli 'obozy: {nazwa: 'cubs-killeen'}' zamiast 'camps: {{name: 'cubs-killeen'}}'? –
@Relfor, tak, o to mi chodziło! dzięki za wytłumaczenie. Teraz, jak osiągnąć tę strukturę dokumentu? – cpeele00