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

如何将JSON数组对象作为单个文档存入Mongoose?

使用Mongoose将JSON对象数组作为单个文档存入MongoDB

1. 定义Schema

首先需要定义一个包含数组字段的Mongoose Schema,用来存放你提供的JSON对象数组:

const mongoose = require('mongoose');

const orderSchema = new mongoose.Schema({
  items: [
    {
      item_id: { type: String, required: true },
      qty: { type: Number, required: true },
      price: { type: Number, required: true }
    }
  ],
  createdAt: { type: Date, default: Date.now } // 可选的附加字段
});

2. 创建Model

基于Schema生成对应的Model:

const Order = mongoose.model('Order', orderSchema);

3. 保存单个文档

在请求处理逻辑中,将请求体的数组作为items字段的值,创建并保存一个文档即可:

// Express路由示例
app.post('/save-order', async (req, res) => {
  try {
    const orderDoc = new Order({ items: req.body });
    const savedDoc = await orderDoc.save();
    res.status(201).json(savedDoc);
  } catch (error) {
    res.status(400).json({ error: error.message });
  }
});

额外说明

  • 如果item_id是关联其他集合的ObjectId,可修改Schema中item_id的类型为mongoose.Schema.Types.ObjectId,并添加ref属性关联目标Model:
    item_id: { type: mongoose.Schema.Types.ObjectId, required: true, ref: 'Item' }
    
  • 执行后,数据库中会生成单个文档,其中items字段就是你传入的整个JSON数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:54:23