именно так не делал, чтобы обращаться из одной коллекции в другую не по _id, но судя по всему так
https://stackoverflow.com/questions/19287142/popul...Coll1.virtual('card_id', {
ref: 'Coll2',
localField: 'card_id',
foreignField: 'card_id',
justOne: true // for many-to-1 relationships
});
Coll1.find({...})
// if you use select() be sure to include the foreign key field !
.select({ card_id })
// use the 'virtual population' name
.populate('card_id')
.exec(function(err, books) {...})
это для прокладки mongoDB для node.js, но если это возможно там, то возможно и напрямик через монго, я просто не знаю как
если оба документа ссылаются на коллекцию Card по _id (а скорее всего так и сделало, эти айдишники карточки же тоже на что-то ссылаются?), то довольно просто в коллекциях прописать отсылку на _id карточки и при запросе получать json с карточкой
https://docs.mongodb.com/manual/reference/database...
https://mongoosejs.com/docs/populate.html
но с PHP не могу помочь, без понятия как там устроено
--
еще посмотри это, вероятно то что надо
https://docs.mongodb.com/manual/reference/operator...Collection1.aggregate([{
$lookup:
{
from: "Collection2",
localField: "card_id",
foreignField: "card_id",
as: "from_coll_2"
}
}])
за синтаксис из головы не уверен, но можно попробовать