MongoDB/Mongoose:保存 > 将评论推送到数组中,在数组中你会看到评论 + 日期

Posted

技术标签:

【中文标题】MongoDB/Mongoose:保存 > 将评论推送到数组中,在数组中你会看到评论 + 日期【英文标题】:MongoDB/Mongoose: On save > Push comment into array, in the array you'll see comment + date 【发布时间】:2019-01-22 06:47:47 【问题描述】:

我有一个猫鼬模型

const clientSchema = mongoose.Schema(

Created: 
    type: String
,

kundnr: 
    type: String,
    unique: true,
    required: true
,

namn: 
    type: String

,

adress: 
    gata: String,
    postkod: Number,
    stad: String
,

kontakt: 
    email: String,
    telefon: Number,
,

company: 
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Company'
,

notering: [
    type: String,
],

lan: [
    type: String
]

, 
timestamps: true
);

module.exports = mongoose.model('Client', clientSchema);

`

然后就是函数

    newClient.kundnr = req.body.kundnr;
    newClient.namn = req.body.namn;
    newClient.adress.gata = req.body.gata;
    newClient.adress.postkod = req.body.postkod;
    newClient.adress.stad = req.body.stad;
    newClient.kontakt.email = req.body.email;
    newClient.kontakt.telefon = req.body.telefon;
    newClient.notering = req.body.notering;

    const save = await newClient.save()

    //redirect
    res.redirect('/newClient');

当我保存时,我想将“注意”推送到数组中,这很有效。但在数组中,我想同时查看字符串 + 创建/编辑的日期。

所以当我查看数组时,我在位置 0 看到两个不同的东西,字符串和日期。

不知道该怎么做,也许甚至不应该使用数组,而应该使用对象?

【问题讨论】:

没人有答案吗?就像你发布一篇博文一样,你会看到日期、作者和帖子.. 【参考方案1】:

对于任何关心的人,这就是我解决它的方法。

这是从我的 controller.js 文件中截取的。

exports.updateClientNotering = async (req, res) => 
let id = req.params.id;
let date = new Date();

try 


    const pushNoteringIntoNewClient = await Client.findByIdAndUpdate(
        _id: id
    , 
        $push: 
            "notering": 
                Author: user.local.name,
                Date: date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate(),
                Notering: req.body.notering
            
        
    , 
        safe: true,
    );


    req.flash('success', "Notering tillagd");
    res.status(200).redirect("back")

 catch (err) 
    return res.status(500).send(
        message: err.message || "Some error occurred while retrieving datas."
    );
;

;

在模型 client.js 中我这样定义它,

notering: [],

【讨论】:

以上是关于MongoDB/Mongoose:保存 > 将评论推送到数组中,在数组中你会看到评论 + 日期的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB / Mongoose 单元测试 - 最佳实践? [关闭]

MongoDB、Mongoose 和复合 _id

MongoDB(Mongoose)数据库结构题

如何将 websocket 放入数据库(mongoDB/mongoose)?

MongoDB - Mongoose 查询 findOneAndUpdate() 不更新/复制数据库

MongoDB - Mongoose 查询 findOneAndUpdate() 不更新/复制数据库