You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB如何拆分数组内的2个对象?mongoose.find()返回数据处理问题

问题原因

mongoose.find() 方法返回的查询结果data本身就是包含所有匹配文档的数组,你现有代码直接执行posts.push(data)是把整个结果数组作为单个元素插入posts,导致posts变为二维数组,因此posts[0]对应完整的查询结果数组,打印时会输出所有文档。

解决方案
  • 如果你需要把查询到的所有文档逐个追加到原有posts数组中,使用展开运算符拆分data数组后再推入:
const find = Info.find({}).then((data)=> {
    // 展开data数组,将每个文档作为单独元素推入posts
    posts.push(...data);
    console.log(posts[0])
})
  • 如果你不需要保留posts原有内容,直接把查询结果赋值给posts即可:
const find = Info.find({}).then((data)=> {
    posts = data;
    console.log(posts[0])
})
  • 如果你不想修改现有写入逻辑,也可以直接读取二维数组的第二层第一个元素:
const find = Info.find({}).then((data)=> {
    posts.push(data);
    console.log(posts[0][0])
})

内容的提问来源于stack exchange,提问作者Eibona

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:24:04