【发布时间】:2020-10-19 23:37:39
【问题描述】:
我有一个如下所示的数组:
[
{
"children": [
"5efa29058a3e8a3efc45c11a",
"5efa29158a3e8a3efc45c11b"
],
"_id": "5efa29b88a3e8a3efc45c11f",
"tabText": "foo",
"headerText": "foobar",
"__v": 0
},
{
"children": [
"5efa29228a3e8a3efc45c11c",
"5efa292c8a3e8a3efc45c11d",
"5efa29338a3e8a3efc45c11e"
],
"_id": "5efa29ea8a3e8a3efc45c120",
"tabText": "Foo2",
"headerText": "foobar2",
"__v": 0
}
]
对于每个对象上的每个“children”数组,我需要获取孩子的 id,在数据库中查找它,然后将 id 字符串替换为包含数据库信息的对象。
猫鼬模型:
模型1:
const { Schema, model } = require('mongoose')
const Tab = model('tab', new Schema({
tabText: String,
headerText: String,
children: Array
}))
module.exports = Tab
模型2:
const { Schema, model } = require('mongoose')
const Child = model('child', new Schema({
icon: String,
name: String,
description: String
}))
module.exports = Child
【问题讨论】:
-
到目前为止你尝试过什么?
-
为什么不尝试使用一个 for 循环或一个 forEach?
-
看起来您正在使用 MongoDB。您可以使用后端中的实际文档填充这些 id。您无需遍历文档,然后发送多个请求来填充每个文档。
-
@RameshReddy 我该怎么做?我知道如何在 SQL 中加入表,但在 mongo 中不知道,我不知道这是可能的。
-
@LoganB 你在用猫鼬吗?
标签: javascript node.js arrays json object