【问题标题】:Array Type values Insertion in nodejs and Mongodb数组类型值在 nodejs 和 Mongodb 中的插入
【发布时间】:2019-07-18 16:36:37
【问题描述】:

我正在尝试插入数组类型值,但它在数据库中提供了空白数组,当我使用 req.body 时它提供了空白数组。请帮忙。 这是我用来在数据库中插入值的方法。

dealExpiryDate: req.body.dealExpiryDate,
dealExpiryTime: req.body.dealExpiryTime,
availableCoupon: req.body.availableCoupon,
peopleLimit: req.body.peopleLimit,
"$push": {
    dealType: req.body.dealType,
    subDealTittle: req.body.subDealTittle,
    description: req.body.description
}

【问题讨论】:

  • 不清楚您要问什么。在您的问题中添加完整的功能或提供更多详细信息。

标签: arrays node.js mongoose


【解决方案1】:

你可以直接插入一个数组,如下

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/test', {
  useNewUrlParser: true
});
mongoose.set('debug', true);

var messageSchema = new mongoose.Schema({

  content: { type: String },
  likes: [Number]
});

var Message = mongoose.model('Message', messageSchema);

var array = [];
for (var i = 0; i < 10; ++i) {
  array.push(i);
}

var msg = {
  content: "test message",
  likes: array,
}

Message.create(msg).
  then(message => {
    console.log(message);
    process.exit(0);
  });

结果:

Mongoose: messages.insertOne({ likes: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], _id: ObjectId("5d302f07a938870eb4e8a465"), content: 'test message', __v: 0 }, { session: null })
{
  likes: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
  _id: 5d302f07a938870eb4e8a465,
  content: 'test message',
  __v: 0
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    相关资源
    最近更新 更多