Javascript 对象内部的JSON更新数组

Javascript 对象内部的JSON更新数组,javascript,json,mongodb,Javascript,Json,Mongodb,下面是我的JSON响应的样子: "_id" : 537, "quizzes" : [ { "wk" : 1, "score" : [ 10 ] }, { "wk" : 2, "score" : [ 8 ] },

下面是我的JSON响应的样子:

"_id" : 537,
    "quizzes" : [
        {
            "wk" : 1,
            "score" : [
                10
            ]
        },
        {
            "wk" : 2,
            "score" : [
                8
            ]
        },
        {
            "wk" : 3,
            "score" : [
                5
            ]
        },
        {
            "wk" : 4,
            "score" : [
                6
            ]
        }
    ]
}
我正在尝试更新其中一个对象中的分数数组,下面是我的尝试:

db.collection('connect').update({_id: id}, {$push: { quizzes[0]: { score: 89  }  }});

我想你在找我

db.collection('connect').update({_id: id}, {$set: { "quizzes.0.score":89}  })
一个更好的方法是不要回复测验数组的索引,而是使用“wk”属性

db.collection('connect').update({_id: id,quizzes:{$elemMatch:{"wk":1}}}, {$set: { quizzes.$.score: 89  }  }})

我想你在找我

db.collection('connect').update({_id: id}, {$set: { "quizzes.0.score":89}  })
一个更好的方法是不要回复测验数组的索引,而是使用“wk”属性

db.collection('connect').update({_id: id,quizzes:{$elemMatch:{"wk":1}}}, {$set: { quizzes.$.score: 89  }  }})

我想你在找我

db.collection('connect').update({_id: id}, {$set: { "quizzes.0.score":89}  })
一个更好的方法是不要回复测验数组的索引,而是使用“wk”属性

db.collection('connect').update({_id: id,quizzes:{$elemMatch:{"wk":1}}}, {$set: { quizzes.$.score: 89  }  }})

我想你在找我

db.collection('connect').update({_id: id}, {$set: { "quizzes.0.score":89}  })
一个更好的方法是不要回复测验数组的索引,而是使用“wk”属性

db.collection('connect').update({_id: id,quizzes:{$elemMatch:{"wk":1}}}, {$set: { quizzes.$.score: 89  }  }})

请尝试以下更新:

db.collection("connect").update(
    {
        "_id": id            
    }, 
    {
        "$set": { 
            "quizzes.0.score.0": 89    
        }
    }
);
它使用访问数组的元素并访问嵌入文档的字段

要通过从零开始的索引位置访问数组的元素, 将数组名称与点(.)和从零开始的索引连接起来 放置,并用引号括起:

“。”

尝试以下更新:

db.collection("connect").update(
    {
        "_id": id            
    }, 
    {
        "$set": { 
            "quizzes.0.score.0": 89    
        }
    }
);
它使用访问数组的元素并访问嵌入文档的字段

要通过从零开始的索引位置访问数组的元素, 将数组名称与点(.)和从零开始的索引连接起来 放置,并用引号括起:

“。”

尝试以下更新:

db.collection("connect").update(
    {
        "_id": id            
    }, 
    {
        "$set": { 
            "quizzes.0.score.0": 89    
        }
    }
);
它使用访问数组的元素并访问嵌入文档的字段

要通过从零开始的索引位置访问数组的元素, 将数组名称与点(.)和从零开始的索引连接起来 放置,并用引号括起:

“。”

尝试以下更新:

db.collection("connect").update(
    {
        "_id": id            
    }, 
    {
        "$set": { 
            "quizzes.0.score.0": 89    
        }
    }
);
它使用访问数组的元素并访问嵌入文档的字段

要通过从零开始的索引位置访问数组的元素, 将数组名称与点(.)和从零开始的索引连接起来 放置,并用引号括起:

“。”

括号给了我一个语法错误:SyntaxError:Unexpected token[$是位置运算符。它替换了前面查询中硬编码的0。这似乎对我不起作用,你能检查我发布的这个问题吗?括号给了我一个语法错误:SyntaxError:Unexpected token[$是位置运算符。它替换了上一个查询中硬编码的0。这似乎对我不起作用,你能检查我发布的这个问题吗?括号给了我一个语法错误:SyntaxError:意外标记[$是位置运算符。它替换了上一个查询中硬编码的0。这似乎对我不起作用,你能检查我发布的这个问题吗?括号给了我一个语法错误:SyntaxError:意外标记[$]是位置运算符,它取代了以前对我来说似乎不起作用的查询中的硬编码0,可以检查我发布的这个问题吗?期望的结果是什么?如果您希望更新记分数组,以便它仍然是单个元素数组,那么考虑使用更新运算符修改器<代码>“$SET”:{“QueZes。0。0。”:89 } <代码>如我的解决方案中所提到的。期望的结果是什么?如果你想更新分数数组,以便它仍然是一个元素数组,那么考虑使用更新运算符修改器<代码>“$SET”:{“测验题。0。分数0”:89 }。<>代码>下面的我的解决方案中所提到的。期望的结果是什么?如果你想更新分数数组,以便它仍然是一个元素数组,那么考虑使用更新操作符修改器<代码>“$SET”:{测验(0。得分0):89 }。<下面的解决方案中提到的。期望的结果是什么?如果您希望更新分数数组,以便它仍然是单个元素数组,那么考虑使用更新运算符修改器<代码>“$SET”:{“QueZes。0。0。”:89 } < /代码>,如下面我的解决方案中提到的。