habe ich einen Cloudant DB mit der folgenden Struktur:Suchen Eltern-ID in cloudant
{id: 1, resource:”john doe”, manager: “john smith”, amount: 13}
{id: 2, resource:”mary doe”, manager: “john smith”, amount: 3}
{id: 3, resource:”john smith”, manager: “peter doe”, amount: 10}
ich eine Abfrage benötigt, um die Summe der Menge zurück, also habe ich eine Abfrage mit emit (doc.manager gebaut, doc.amount), die
kehrt{"rows":[
{"key":"john smith","value":16},
{"key":"peter doe","value":10}]}
Es ist wie ein Zauber funktioniert. Allerdings benötige ich die Manager-ID zusammen mit dem Manager-Namen. Das Ergebnis, das ich suche, ist:
{"rows":[
{"key":{"john smith",3},"value":16},
{"key":{"peter doe",null},"value":10}]}
Wie soll ich eine Kartenansicht erstellen, um die Eltern-ID zu suchen? Ich glaube nicht, dass es eine Möglichkeit, genau das zu tun, was Sie in einer Abfrage wollen
Danke, Erik
Ich denke, Ihre Antwort ist großartig und gibt dem Benutzer genau das, was sie brauchen. Es scheint ein kleines Missverständnis über die IDs zu geben: Es gibt Dokument-IDs und Manager-IDs. Ich nehme an, jeder Manager hat eine eindeutige ID, auch wenn sie denselben Namen haben. Wenn im Dokument eine Manager-ID vorhanden ist, können Sie immer noch einen zusammengesetzten Schlüssel ausgeben, wie Sie im Beispiel gezeigt haben, und die Funktion '_sum' reduce verwenden - dies würde zu einem korrekten Verhalten führen, oder? – seb
Sie könnten immer noch einen zusammengesetzten Schlüssel von '[doc.manager, doc.id]', ja verwenden. Ich denke jedoch, dass Sie immer noch auf dasselbe Problem stoßen werden, das ich oben skizziert habe. –