如何在Express JS和Mongodb中向数组中的所有对象添加自动增量ID

时间:2018-02-15 10:58:25

标签: mongodb express mongoose mongoose-schema

我是新来的表达js和mongodb。我有一个cinema架构,如下所示:

var mongoose = require('mongoose');

var CinemaMasterSchema = new mongoose.Schema({
  cinema_name: String,
  cinema_entity: String,
  start_opening_date: { type: Date },
  status: String,
  halls: []
});

module.exports = mongoose.model('CinemaMaster', CinemaMasterSchema);

它接受的大厅数组包含seat capacitystatuscinema_id和少数属性的对象。

下面是我的路线文件

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var cinema = require('../models/CinemaMaster.js');


router.post('/', function(req, res, next) {
  cinema.create(req.body, function (err, post) {
    if (err) return next(err);
    res.json(post);
  });
});


module.exports = router;

在halls对象数组中,如何在创建新影院时添加自动增量ID。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我不是100%确定我理解你的问题,但我相信你希望hall数组中的每个halls都有一个Mongo _id,对吗?

如果我是对的,那么可以采用的方法是将Hall定义为子文档:

var HallSchema = new mongoose.Schema({
  seat_capacity: Number,
  status : String
});

var CinemaMasterSchema = new mongoose.Schema({
  // ...
  halls: [HallSchema]
});

现在,数组中的每个hall都会自动分配一个Mongo _id。