У меня есть 2 коллекции userInfo и transationHistory.userInfo содержит userId, registerDate и т. д., а transationHistory содержит userId, transationId, itemId и т. д.
базы данных выглядят следующим образом, существует более 1 тыс. данных:
transationHistory:{
{
transationId:asd123
itemId:A
userId:123
}
userInfo:{
userId:123
registerDate:"06-18-2018"
}
, поэтому я хочу получитьпользователи, которые купили элемент А с их регистрацией.
db.transationHistory.aggregation({$match:{item:"A"}},{$project:{userId:1}})
затем я получаю список userId, затем
db.userInfo.aggregation({$match:{userId:{$in:[<listOfUserId>]}}},{$project:{registerDate:1}})
, затем я помещаю оба набора результатов в excel и использую функцию vlookup, чтобы получить объединение.Есть ли более простой способ использовать запрос mongodb для получения объединения?
РЕДАКТИРОВАНИЕ:
Я знаю, как это сделать в MySQL, как указано ниже:
SELECT T.itemId,T.userId,U.registerDate
FROM transationHistory T,userInfo U
WHERE T.userId=U.userId AND T.itemId="A"
пример вывода:
{
itemId:A
userId:123
registerDate:"06-18-2018"
}
{
itemId:A
userId:1435
registerDate:"06-16-2018"
}