mongodb - 使用 MongoDB/Meteor 更新数组中的特定元素

标签 mongodb meteor

"users_voted" : [ 
    {
        "user_id" : "AQG8ECLdBRJ4jwPMG",
        "score" : "down"
    }
]

想知道如何更新作为数组对象的 users_voted 字段。我需要更新一个特定的对象。我知道该对象所在的 index,我只需要弄清楚如何在 MongoDB/Meteor 集合中更新该对象。

这是一些伪代码,我必须更好地解释我的意思。

Posts.update({_id: post_id}, {$set: {vote_score[index]: u_object}});

所以在这个查询中我知道 indexpost_id 以及 u_object 是我试图放入数组中的对象该 index 处的任何对象的位置。如果有人可以帮助我知道我应该怎么做,那就太好了。

最佳答案

您不能将变量用作对象字面量中的键。试一试:

var obj = {};
obj["users_voted." + index] = u_object;
Posts.update({_id: post_id}, {$set: obj});

关于mongodb - 使用 MongoDB/Meteor 更新数组中的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22568673/

相关文章:

forms - 使用相同的表单进行插入和编辑

mysql - 在 mysql 中更新触发器后触发并将该数据插入 mongodb

javascript - 如何使用 Meteor 从 API 导入 http 请求(JSON 格式)

javascript - 如何从表单提交中获取所有单选按钮组选择

meteor - 实用 meteor 错误 :mocha & Meteor 1. 6

c# - .NET 使用 MongoDB 根据子文档列表进行选择

django - 如何将 Django 与 MongoDB 一起使用

java - 如何在MongoDB Java中从键值对中分离值,并将值相加

node.js - Web Scrape Meteor 页面

Meteor 1.3 和 Angular 1