在猫鼬中向具有变量名称的对象添加新属性

137

我需要将对问题的回答存储在Mongo中。我在用猫鼬。我的查询现在看起来像这样:

router.post('/answers', expressJwt({secret: config.secret}), function (req, res, next) {
    var user = req.user
    var question = req.body.question
    var answer = req.body.answers
    var id = question._id

    db.User.update({email: user.email}, {$set: {answers[question._id]: answer}}, function (err, doc) {
        if (err) {
            console.error('problem updating answers object', err)
            return res.json(err)
        }
        console.log(doc)
        return res.json('successfully updated answers')
    })
})

我收到错误“意外令牌[”。如何向我的答案对象添加属性?

我必须进行数据库调用以获取答案对象,然后对其进行修改,然后将其更新回数据库。这是我使用的代码。注意:将lean和exec与mongoose一起使用以获取原始对象,否则您将在修改mongoose对象时遇到问题。

router.post('/answers', expressJwt({secret: config.secret}), function (req, res, next) {
    var user = req.user
    var question = req.body.question
    var answer = req.body.answers
    var id = question._id

    db.User.findOne({email: user.email}).lean().exec(function (err, user) {
        user.answers[question._id] = answer
        db.User.update({email: user.email}, {$set: {answers: user.answers}}, function (err, doc) {
            if (err) {
            console.error('problem updating answers object', err)
            return res.json(err)
        }
            console.log(doc)
            return res.json('successfully updated answers')
        })
    })
})
Prabjot Singh |

首先,您必须在数据库调用之前在答案对象中设置id,然后用新字段替换您的字段

router.post('/answers', expressJwt({secret: config.secret}), function (req, res, next) {
    var user = req.user
    var question = req.body.question
    var answer = req.body.answers

    answer.question._id = question._id;

    db.User.update({email: user.email}, {$set: {answers: answer}}, function (err, doc) {
        if (err) {
            console.error('problem updating answers object', err)
            return res.json(err)
        }
        console.log(doc)
        return res.json('successfully updated answers')
    })
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在猫鼬函数中向对象添加属性

来自分类Dev

具有变量名称的Javascript对象属性

来自分类Dev

具有变量名称的Javascript对象属性

来自分类Dev

选择具有变量名称的属性

来自分类Dev

猫鼬-向回调中返回的对象添加方法

来自分类Dev

在变量中具有名称的新对象

来自分类Dev

在IOS中添加具有属性名称的变量值

来自分类Dev

如何访问猫鼬中的对象属性?

来自分类Dev

猫鼬从对象中删除属性

来自分类Dev

在bash中获取具有变量名称的数组的键

来自分类Dev

动态地向对象添加任何名称的新属性

来自分类Dev

不能向(猫鼬)对象添加额外的元素

来自分类Dev

猫鼬-更新文档,添加新键(具有strict:false)

来自分类Dev

具有变量名称的访问元素

来自分类Dev

具有变量名称的访问元素

来自分类Dev

向对象添加新属性

来自分类Dev

如何获得具有相同变量名称的不同活动/片段的变量属性?

来自分类Dev

从猫鼬 findOne 动态添加新属性:值到模型

来自分类Dev

向现有的 javascript 对象添加新属性

来自分类Dev

如何在猫鼬中查找具有重复属性的文档?

来自分类Dev

如何使用猫鼬返回具有特定值的数组中的对象?

来自分类Dev

使用猫鼬在mongo集合中查询没有某些属性的对象

来自分类Dev

如何在Cloud Firestore中向对象添加新属性

来自分类Dev

JavaScript:向数组中的对象添加新属性

来自分类Dev

在NodeJS中向JSON对象添加新属性

来自分类Dev

如何向数组中的对象添加新属性

来自分类Dev

向 javascript 中的对象添加新属性无法正常工作?

来自分类Dev

向对象属性添加新属性

来自分类Dev

AngularJS验证引用具有变量名称的表单对象

Related 相关文章

热门标签

归档