在节点中创建mongoose模型的新实例 - 将第一个项添加到其中一个嵌入式数组中

时间:2015-08-22 01:45:12

标签: node.js mongoose

这是我目前的代码:

假设我有以下猫鼬模型:

// This is the car model.

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

//  Setup a mongoose model, and pass it to module.exports.

module.exports = mongoose.model('Car', new Schema({
    manufacturer: String,
    model: String,
    owners: [{type: ObjectId, ref: 'Owner'}]
}));

我想在我的REST api中使用它如下 - 在这段代码中我基本上试图创建一个car对象的实例,然后传入当前的所有者id,成为第一项“所有者名单”的数组

app.post('/cars/create', function(req,res){

    if( req.body.manufacturer && req.body.model && req.body.ownerId)
    {
        newCar = new Car(
            manufacturer: req.body.manufacturer,
            model: req.body.model,
            owners: // NOT SURE WHAT TO DO HERE 
        });
    }
});

1 个答案:

答案 0 :(得分:2)

$ dk=$(python -c "import sys; import hashlib; print hashlib.sha256(sys.argv[1] + 'salt').hexdigest()" argument)
$ echo $dk
7353bc6a6fcee8b3c908bdaed02b49e6140818a0dcaf37507451b23ae6952687

小心不要在以后重写,只需按下即可。从那里开始,它照常营业......随意填充,操纵和保存。

ObjectId可以从Schema.types.ObjectId,IIRC获得。如果您使用的是旧版本的Mongo,也可以使用owners : new Array(ObjectId.createFromHexString(req.body.ownerId))