MST

星途 面试题库

面试题:MongoDB Shell中的复杂数据类型操作技巧

假设集合中有文档,文档结构为{ '_id': ObjectId('...'), 'name': 'John', 'hobbies': ['reading', 'traveling'], 'grades': { 'math': 85, 'physics': 90 } }。请使用MongoDB Shell编写命令,将'hobbies'数组中添加'painting',并将'grades'中的'chemistry'成绩设置为78。同时解释在更新操作中使用的操作符及其作用。
19.7万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试
  1. MongoDB Shell 命令
db.collection.updateOne(
    {}, 
    {
        $push: { "hobbies": "painting" },
        $set: { "grades.chemistry": 78 }
    }
);
  1. 操作符及其作用
    • $push
      • 作用:向指定数组字段(这里是hobbies数组)中添加一个或多个值。在这个例子中,使用$pushhobbies数组添加了"painting"
    • $set
      • 作用:用于更新文档中的字段值。如果指定的字段不存在,$set会创建该字段。这里使用$setgrades对象中的chemistry字段设置为78

在上述命令中,updateOne的第一个参数{}表示匹配所有文档,如果集合中有多个文档,只会更新第一个匹配的文档。如果要更新所有匹配的文档,可以使用updateMany方法。同时,如果有更精确的筛选条件,可将{}替换为相应的筛选条件。