2016-10-24 2 views
0

У меня есть коллекция, которая имеет уникальное поле _id, но дублирует значения в поле transactionreceipt. Я хочу отфильтровать его уникальным transactionreceipt, и я хочу, чтобы полные данные документа этой записи .. это возможно?выбрать полную запись на основе уникального идентификатора mongodb

Я прочитал, как только индексы могут быть извлечены из использования различных .. есть ли что-нибудь, где я могу получить полный документ тоже.?

Мой набор данных:

{"_id": {"$oid": "580af4ce1b407e114sdvsdbf"}, 
    "transactionreceipt":"734416173864583200", 
    "type":"recharge" 
}, 
{"_id": {"$oid": "580af4ce1b407f495sagfdgaed"}, 
    "transactionreceipt":"734416173864583200", 
    "type":"recharge" 
}, 
{"_id": {"$oid": "580af4ce1b407safasfe114bf"}, 
    "transactionreceipt":"734585659418738700", 
    "type":"recharge" 
}, 
{"_id": {"$oid": "580af4ce1b407f4956436sdg"}, 
    "transactionreceipt":"734585659418738702", 
    "type":"recharge" 
}, 
{"_id": {"$oid": "580af4ce1b407f495safasgvd"}, 
    "transactionreceipt":"734723784694562800", 
    "type":"recharge" 
}, 
{"_id": {"$oid": "580af4ce1b407f495325ds"}, 
    "transactionreceipt":"734723784694562808", 
    "type":"recharge" 
} 

И запрос будет как

var tx = db.usertransactions.distinct("transactionreceipt",{"type" : "recharge"}) 
tx.forEach(statistics=>{ 
     printjson(parseFloat(statistics));// i want all details to be displayed here 
     } 
) 

я могу получить только transactionreceipt здесь, ничего другого. Где я иду не так? Есть ли какая-либо совокупная функция, которая может это сделать?

ответ

0

Что о попытке следующих ПУТЬ

var tx = db.usertransactions.aggregate(
[ 
    { $match: { type: "recharge" } }, 
    { 
     $group: {    
      _id : { id: { $id: "$oid" }, transactionreceipt: { $transacreceipt: "$transactionreceipt" }} 
     } 
    }, 

]) tx.forEach(statistics=>{ 
     printjson(parseFloat(statistics)); 
    }) 

Вы можете проверить для более подробной информации - https://docs.mongodb.com/manual/reference/operator/aggregation/group/

Смежные вопросы