現在ExpressとMongooseで jsonAPIを作成しております.
2つのモデルを合成してsaveしたいです.

// app/models/room.js

var mongoose     = require('mongoose');
var TmpSchema    = require('./tmp');
var Schema       = mongoose.Schema;

var RoomSchema   = new Schema({
    users: [TmpSchema],
    host_user: String
});

module.exports = mongoose.model('Room', RoomSchema);'

こちらは子となるモデルです.

// app/models/tmp.js

var mongoose     = require('mongoose');
var Schema       = mongoose.Schema;

var TmpSchema = new Schema({
    user_id : String
} , { _id: false});

module.exports = mongoose.model('Tmp', TmpSchema);

このような状態の時,POSTメソッドが呼び出された時にroomモデルのレコードを保存したいです.

// server.js

// call the packages we need
var express    = require('express');        // call express
var app        = express();                 // define our app using express
var bodyParser = require('body-parser');

// use MongoDB
var mongoose   = require('mongoose');
mongoose.connect('mongodb://localhost/edisonHTTPRequestAPI'); // connect to our database

// use Model
var User       = require('./app/models/user');
var Room       = require('./app/models/room');
var Tmp        = require('./app/models/tmp');

~~~~

router.route('/rooms')

// create a users (accessed at POST http://localhost:3000/api/rooms)
    .post(function(req, res) {

        var room = new Room();
        room.host_user = req.body.host_user;
        if(req.query.userID != null){
            var users = req.query.userID.split(" ");
            for(var i = 0;i<users.length;i++){
                var tmp = new Tmp();
                tmp.user_id = users[i];
                tmp.save();
                room.users[i] = tmp;
            }
        }

        room.save(function(err) {
            if (err)
                res.send(err);
            console.log(room);
            res.json({ message: 'Room created!' });
        });
    })

上記の様な記述を行いました.

そこで,例えば以下のようにPOSTメソッドを叩くと,意図したjsonが帰ってきます.

また,server.js内で,console.log(room)と行うと,ログも以下のように正常な値が帰ってきます.

{ __v: 0,
  host_user: 'test',
  _id: 5667de123b5a5caf9c000001,
  users: 
   [ { __v: 0, user_id: 'abc' },
     { __v: 0, user_id: 'def' },
     { __v: 0, user_id: 'ghi' } ] }

しかし,このidを用いてsaveしたデータを確認すると,データの中にusersの要素が含まれていませんでした.

$ curl http://localhost:3000/api/rooms/5667de123b5a5caf9c000001

//result
{"_id":"5667de123b5a5caf9c000001","host_user":"test","__v":0,"users":[]}

これは何が原因なのでしょうか…
ご教授願います.