从文本数组创建猫鼬模式字段

时间:2020-02-07 02:30:49

标签: javascript mongodb mongoose

我正在尝试将猫鼬更改为使用嵌套模式,以使数据库更加灵活。但是我很难适应一些函数调用以处理新模型。

当前模式如下所示: var buildinginfo = new Schema({

...
, checkout123 : Date 
, checkout124 : Date 
, checkout125 : Date 
, checkout126 : Date 
...

}

在此,“ 123”和“ 124”等是“ bookid”的值。我正在尝试将架构更改为以下形式:

var Checkout = new Schema({
        "iddate"      : Date,
        "idnumber"    : String
    });

    var buildinginfo = new Schema({

    ...
    , checkouts: [checkout] 
    ...

    }

当前用于更新数据库的代码如下:

const updateObj = {
      "buildid": buildingid 
    , "secupdated" : dateNow.getTime()
    } 
    updateObj["checkout".concat(bookid)] = 1000 * parseInt(checkouttime) ; 

    traintracks.findOneAndUpdate({
        "buildid": buildingid 
    }, updateObj, {upsert: true}).exec();

这是我为新的updateObj尝试的方法:

const updateObj = {
   "buildid": buildingid 
   , "checkouts.iddate" : 1000 * parseInt(checkoutTime)
   , "checkouts.idnumber" : bookid}

但是,这仅向结帐添加了一个元素,而不是为每个书生添加一个元素。救命?

0 个答案:

没有答案