如何在Node.js和Mongoose中的对象数组中更新特定对象

安德烈·库切(Andre Coetzee)

我是来自Java经验的node.js的新手。我有一种情况想尽我所能。我的堆栈是express.js,猫鼬,ejs模板。这是我的场景:我有一个架构:

var UserSchema = mongoose.Schema({
name: {
    type: String,
    index: true
},
password: {
    type: String,
    select: false
},
email: {
    type: String
},
academic: [{
    qualification: String,
    institute: String,
    from: String,
    to: String,
    about: String
}]

});

这里有一个学者名单。我只想更新该列表中的一个学术对象。我将如何处理?

router.post('/academic/schools/update', function (req, res) {

});

我将ejs模板中的值传递到路由中,并在req.body中获取值。我如何在节点和猫鼬中查询路线中的特定对象,然后更新其值。我曾考虑过可能在学术对象中添加一个ID,以便能够跟踪要更新的对象。

刘亨利

保存后,每个学术子文档都会有一个_id。有两种方法可以做到这一点。如果您在url或请求正文中传递用户ID和学术子文档ID,则可以这样更新:

User.findById(userId).then(user => {
    let academic = user.academic.id(academicId);
    academic.qualification = 'something';
    return user.save();
});

如果仅传递学术子文档的ID,则可以这样进行操作:

User.findOne({'academic._id': academicId}).then(user => {
    let academic = user.academic.id(academicId);
    academic.qualification = 'something';
    return user.save();
});

请注意,从猫鼬返回的子文档数组是mongoosearray而不是本机数组数据类型。因此,您可以使用.id .push .pop .remove方法http://mongoosejs.com/docs/subdocs.html来操纵它们

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Mongoose和Node.js在数组中查找特定对象

来自分类Dev

如何从数组元素创建对象以传递到mongoose和node.js中的mongodb聚合中?

来自分类Dev

如何更新数组中特定对象的属性

来自分类Dev

REDUCER***如何更新数组中的特定对象?

来自分类Dev

如何在 Mongoose 查询对象中更新

来自分类Dev

如何在 Node.js 中更新 JSON 对象值

来自分类Dev

如何从对象中的对象数组更新对象?

来自分类Dev

如何在Node JS中打印对象

来自分类Dev

如何在 Mongoose 中推送数组中的对象(错误)

来自分类Dev

如何在node.js的对象数组中查找对象?

来自分类Dev

如何在考虑Mongoose Node.js中的引用的情况下删除对象?

来自分类Dev

如何在考虑Mongoose Node.js中的引用的情况下删除对象?

来自分类Dev

如何更新Firestore数组中的特定对象值

来自分类Dev

如何更新MongoDB NodeJS数组中的特定对象

来自分类Dev

Mongoose - 如何更新数组中的对象,然后对更新后的数组进行排序?

来自分类Dev

如何通过mongoose更新mongodb中的对象?

来自分类Dev

如何从 Mongoose 推送到对象中的数组?

来自分类Dev

如何在mongoose / mongodb中的文档中获取对象数组中的对象?

来自分类Dev

如何在Node JS中获取对象的类名

来自分类Dev

Node.js:如何在查询聚合中返回对象?

来自分类Dev

如何在node.js中访问对象的成员

来自分类Dev

如何通过对象的属性从对象数组中删除特定的对象?

来自分类Dev

如何在RethinkDB中删除数组中的特定对象

来自分类Dev

如何在 React 中的数组 onClick 中显示特定对象?

来自分类Dev

如何在Node.js中为数组/对象数据创建层次结构?

来自分类Dev

如何在Objective-C中添加和更新二维数组的对象?

来自分类Dev

如何从MongoDB中的数组对象中删除特定对象

来自分类Dev

如何在JS中获取数组中的每个备用对象

来自分类Dev

如何在js中遍历数组中的对象

Related 相关文章

  1. 1

    使用Mongoose和Node.js在数组中查找特定对象

  2. 2

    如何从数组元素创建对象以传递到mongoose和node.js中的mongodb聚合中?

  3. 3

    如何更新数组中特定对象的属性

  4. 4

    REDUCER***如何更新数组中的特定对象?

  5. 5

    如何在 Mongoose 查询对象中更新

  6. 6

    如何在 Node.js 中更新 JSON 对象值

  7. 7

    如何从对象中的对象数组更新对象?

  8. 8

    如何在Node JS中打印对象

  9. 9

    如何在 Mongoose 中推送数组中的对象(错误)

  10. 10

    如何在node.js的对象数组中查找对象?

  11. 11

    如何在考虑Mongoose Node.js中的引用的情况下删除对象?

  12. 12

    如何在考虑Mongoose Node.js中的引用的情况下删除对象?

  13. 13

    如何更新Firestore数组中的特定对象值

  14. 14

    如何更新MongoDB NodeJS数组中的特定对象

  15. 15

    Mongoose - 如何更新数组中的对象,然后对更新后的数组进行排序?

  16. 16

    如何通过mongoose更新mongodb中的对象?

  17. 17

    如何从 Mongoose 推送到对象中的数组?

  18. 18

    如何在mongoose / mongodb中的文档中获取对象数组中的对象?

  19. 19

    如何在Node JS中获取对象的类名

  20. 20

    Node.js:如何在查询聚合中返回对象?

  21. 21

    如何在node.js中访问对象的成员

  22. 22

    如何通过对象的属性从对象数组中删除特定的对象?

  23. 23

    如何在RethinkDB中删除数组中的特定对象

  24. 24

    如何在 React 中的数组 onClick 中显示特定对象?

  25. 25

    如何在Node.js中为数组/对象数据创建层次结构?

  26. 26

    如何在Objective-C中添加和更新二维数组的对象?

  27. 27

    如何从MongoDB中的数组对象中删除特定对象

  28. 28

    如何在JS中获取数组中的每个备用对象

  29. 29

    如何在js中遍历数组中的对象

热门标签

归档