我有兩個收藏,我想在上面進行“加入”。
第一個有參考的人是父母。
第二個叫孩子
這是物件父物件的樣子:
{
"_id": "id_123"
"name": "name",
"children": ["id_child_1", "id_child_2", ...]
}
模型/par.js 看起來像這樣:
const mongoose = require('mongoose');
const Par= mongoose.model('parrent',new mongoose.Schema({}), 'parrent');
exports.Par= Par;
route/par.js 看起來像這樣:
const {Par} = require('../models/par');
const express = require('express');
const router = express.Router();
router.get('/', async (req, res) => {
const par = await Par.find();
res.send(par);
});
module.exports = router
路線子和模型子看起來完全一樣。(這是案例的簡化版本)。
我想回傳這樣的東西:
{
"_id": "id_123"
"name": "name",
"children": [{"name":"child1"}, {"name":"child2"}, ...]
}
我找不到有效的、不被貶低的或使用這種架構的解決方案。
uj5u.com熱心網友回復:
如果我理解正確,您可以使用$lookup這樣的簡單方法獲得它:
db.parent.aggregate([
{
"$lookup": {
"from": "child",
"localField": "children",
"foreignField": "_id",
"as": "children"
}
}
])
這里的例子
或使用$project不輸出_id子陣列:示例
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/453605.html
