mongoose 我尝试使用node.js将一个obejct数组发布到mongodb中

5ssjco0h  于 2023-01-09  发布在  Go
关注(0)|答案(1)|浏览(116)

我尝试使用obj虚拟数据将对象数组发送到mongodb,但它只是发送了一个空数组
这是我的密码
图式

const mongoose = require('mongoose');

const Schema = mongoose.Schema;
const LevelSchema = new Schema({
    item: [Object],
});

const Items = mongoose.model('items', LevelSchema);

module.exports = Items;

邮寄路线

const router = require('express').Router();
let Items = require('../models/items.modal');

router.route('/add').post((req, res) => {
  const obj = [
    {
      "name":"name1"
    },
    {
      "name":"name2"
    },
    {
      "name":"name3"
    }

  ]
  const newItems = new Items({obj});

  newItems.save()
    .then(() => res.json('User added!'))
    .catch(err => res.status(400).json('Error: ' + err));
});

module.exports = router;

但是当我运行它的时候它只返回一个空数组
已过帐数据

{
        "_id": "90bacff0cc5c2e3734545f34",
        "item": [],
        "__v": 0
    }
e4eetjau

e4eetjau1#

您的模式如下所示:

const LevelSchema = new Schema({
    item: [Object],
});

所以你必须插入这样的内容:

{
  item: [{}]
}

但您插入的是:

{
  obj: [{}]
}

所以使用const newItems = new Items({item:obj});应该可以。

相关问题