Attualmente sto lavorando a un progetto in cui stiamo utilizzando couchbase 4.1 ad oggi per un sito eCommerce.Couchbase 4.5 restituisce parte del documento
Desidero memorizzare i nostri siti Web in tutta la struttura di categorie in Couchbase come un singolo documento e quindi eseguire una query per una categoria specifica e restituire tale categoria in alcuni casi e in altri casi vorrei restituire la categoria e le sue categorie figlio.
Sono abbastanza sicuro di dover usare l'array indexeer per rendere questo lavoro efficiente ma sono abbastanza nuovo per Couchbase quindi non sono sicuro di come dovrebbe essere strutturato (o anche se è possibile).
Parte del mio documento simile a questo (v'è 4 livelli nella struttura e circa 8-10 categorie di primo livello):
{
"Categories": [
{
"DisplayName": "Category One",
"Id": 1,
"Categories": [
{
"DisplayName": "Child category",
"Id": 10,
"Categories": [
{
"DisplayName": "Child child category",
"Id": 100,
"Categories": [
{
"DisplayName": "Child child child category",
"Id": 1000
},
{
"DisplayName": "Sibling child category",
"Id": 1001
}
]
},
{
"DisplayName": "Child",
"Id": 101,
"Categories": [
{
"DisplayName": "Another child category",
"Id": 2001
}
]
}
]
}
]
}
]
}
Se interrogo per Id = 100 Vorrei avere il mio risultato assomiglia a questo:
{
"DisplayName": "Child child category",
"Id": 100,
"Categories": [
{
"DisplayName": "Child child child category",
"Id": 1000
},
{
"DisplayName": "Sibling child category",
"Id": 1001
}
]
}
In alcuni casi non mi interessa avere i bambini. Ho cercato di creare la mia query usando l'array (N1QL) per selezionare i miei array, ma non sono sicuro che sia possibile anche quando si hanno livelli di oggetti complessi.
Mi può dare una guida su come è possibile (anche se lo è?). Stiamo utilizzando il client Couchbase .NET.
migliori saluti Martin
subdoc * potrebbe * essere un'ottima soluzione, ma non è per scopi di query: devi ** conoscere il percorso (s) che si desidera recuperare**. Tuttavia, se la struttura del documento può essere modificata in modo che l'oggetto radice sia un dizionario, 1 voce per categoria, essendo il nome attributo l'ID di categoria, allora questo potrebbe funzionare. –