Quindi sono davvero nuovo a MongoDB e agli archivi di documenti. Sto avendo difficoltà a cercare la soluzione più elegante ed efficiente per fare quanto segue:Il modo più efficiente per ottenere tutto il valore per un campo in MongoDB e Node.js
Ho una raccolta chiamata test. In ogni test ci sono azioni con un proprietario del campo. Vedi sotto:
{
"_id" : ObjectId("528c731a810761651c00000f"),
"actions" : [
{
"action" : "6784",
"owner" : "MERCHAND_1",
"_id" : ObjectId("528c7292810761651c00000e")
},
{
"action" : "1",
"owner" : "MERCHAND_1",
"_id" : ObjectId("528c7292810761651c00000d")
},
{
"action" : "1358",
"owner" : "MERCHAND_2",
"_id" : ObjectId("528c7292810761651c00000c")
}
],
"name" : "Test 1",
"product" : ObjectId("528bc4b3a0f5430812000010")
}
Come posso avere una lista (array) di ogni valore distinto proprietario utilizzando Node.js & MongoDB (sto usando il driver mangusta). È meglio farlo sul lato mongoside o node.js? Se per esempio ho eseguito la funzione sul tavolo precedente, dovrebbe restituire:
[
{
"owner":"MERCHAND_1"
},
{
"owner":"MERCHAND_2"
}
]
Grazie, questo è tutto ciò che dovevo sapere. Qual è la differenza tra runCommand e la chiamata diretta alla funzione distinta? –
Il metodo 'db.collection.distinct()' fornisce un wrapper attorno al comando 'distinct'. In realtà sta chiamando il comando in background, ma non restituisce le proprietà 'stats' o' ok'. – Travis