查询和写入操作命令2024年9月6日 | 7分钟阅读 MongoDB Insert 命令它在集合中插入一个或多个文档,并返回一个包含所有输入状态的文档。insert 方法内部使用MongoDB提供的insert 命令。 语法 参数字段 字段 | 类型 | 描述 |
---|
insert | string | 它是我们想要插入元素的集合名称。 | 文档 | 数组 | 它是我们想要插入到集合中的文件数组。 | ordered | boolean | 如果设置为true,当插入操作失败时,它会返回结果而不插入insert数组中列出的任何剩余文档,反之亦然。 | writeConcern | document | 它是一个定义插入命令写入关注的文档。 | bypass 文档 验证 | boolean | 我们可以使用此字段插入不符合验证要求的文档。 |
示例 让我们在books集合中插入一个文档。 MongoDB Delete 命令我们可以使用delete 命令从集合中删除任何文档。一个delete 命令中有多个删除规范。我们不能在capped collection上使用它。delete 命令由MongoDB提供的删除方法内部使用。 语法 参数字段 字段 | 类型 | 描述 |
---|
删除 | string | 它是我们想要删除元素的目标集合的名称。 | 删除 | 数组 | 它是一个删除语句数组,我们想对其执行删除操作。 | ordered | boolean | 如果设置为true,当插入操作失败时,它会返回结果而不插入insert数组中列出的任何剩余文档,反之亦然。 | writeConcern | document | 它是一个定义删除命令写入关注的文档。 | q | document | 它是匹配删除的查询。 | limit | 整数 | 我们可以使用此字段限制要删除的匹配文档。指定0删除所有匹配文档,反之亦然。 | 排序规则 | document | 它是一个可选字段,用于定义操作所使用的排序规则。 语法collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
} |
示例 以下示例通过指定limit 2,从状态等于A的book集合中删除一个文档。 MongoDB Update 命令update 命令更改集合中的文档。它包含多个更新语句。它由MongoDB驱动程序提供的update 方法使用。 语法 命令字段 字段 | 类型 | 描述 |
---|
update(更新) | string | 它是我们想要更新数组的目标集合的名称。 | 更新 | 数组 | 它是用于对给定集合执行更新操作的更新语句数组。 | ordered | boolean | 如果设置为true,它是一个可选字段。它将返回结果而不执行剩余的更新操作,反之亦然。 | writeConcern | document | 它是一个表示更新命令写入关注的文档。它描述了从MongoDB请求的对独立MongoDB的写入操作的确认级别。 | bypass 文档 验证 | 布尔值。它使更新操作能够绕过文档验证。 | q | document | 它是匹配我们想要更新的文档的查询。 | u | document | 它是存储更新操作符表达式的文档。 | upsert | boolean | 如果此字段设置为true,则如果没有文档与查询匹配,它将执行插入操作。 | multi | boolean | 如果此字段设置为true,它将更新所有符合查询条件的文档。 | 排序规则 | document | 它指定字符串比较的特定语言规则。 语法collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
} | arrayfilters | 数组 | 它是一个文档数组,描述我们想要修改的数组元素。 | hint | 字符串/ document | 它是一个文档,指定用于支持查询谓词的索引。 |
示例 让我们创建一个学生集合。 run 命令使用$set 和$inc 运算符更新成员等于“john”的文档状态。 MongoDB find 命令find 命令用于执行查询并返回第一组结果和游标ID,我们可以从中构建游标。 语法 命令字段 字段 | 类型 | 描述 |
---|
find | string | 在此字段中,我们可以定义集合的名称。 | filter | document | 它过滤查询。 | 排序 | document | 它是一个包含查询排序细节的文档。 | projection | document | 它是一个包含投影规范的文档,用于确定要包含在返回文档中的字段。 | hint | string | 它是一个文档,将索引名称指定为字符串或索引键模式。 | skip | 正整数 | 此字段包含要跳过的文档数量。 | limit | 非负整数 | 我们可以设置我们想要返回的最大文档数量。 | batchSize | 非负整数 | 它包含我们想要在第一批中返回的文档数量。 | singleBatch | boolean | 它包含在第一批结果后是否关闭游标的详细信息。 | maxTimeMS | 正整数 | 我们可以设置游标处理操作的时间限制。 | readConcern | document | 它指定读取关注级别。ReadConcern: { level: <value> } | max | document | 它包含给定索引的上限。 | min | boolean | 它包含给定索引的下限。 | returnKey | boolean | 如果为true,则只返回结果文档中的索引键。 | showRecordID | boolean | 它用于返回每个文档的记录标识符。 | tailable | boolean | 它为capped collection返回一个可尾随游标。 | awaitData | boolean | 它用于暂时阻塞游标上的getMore 命令。 | oplogReplay | boolean | 它是一个用于重播副本集oplog的命令。例如 -{ find: "data", oplogReplay: true, filter:
{ ts: { $gte: new Timestamp(1514764800, 0) } } } | noCursorTimeout | boolean | 此字段用于防止服务器超时空闲游标。 | allowPartialResults | boolean | 此字段可防止在某些分片不可用时抛出错误。 | 排序规则 | document | 它指定操作的排序规则。 语法collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
} |
示例 在下面的示例中,命令按名称字段对结果集中的文档进行排序,并将结果集限制为六个文档。 MongoDB findAndModify 命令它一次修改并返回一个文档。默认情况下,返回的文档不包含更新所做的修改。我们需要使用new 选项来返回修改后的文档。 语法 命令字段 document字段 | 类型 | 描述 |
---|
query (查询) | document | 查询字段包含与db.collection.find() 方法中使用的查询选择器相同的查询选择器。 | 排序 | document | 它定义文档的排序顺序。 | remove | boolean | 此字段删除查询字段中指定的文档。 | update(更新) | 文档/数组 | 它将更新指定的文档。 | new | boolean | 如果设置为true,它将返回修改后的文档而不是原始文档。 | 域 | document | 它是要返回的字段的子集。它指定包含值为1的字段。fields: { <field1>: 1, <field2>: 1, ... } | upsert | boolean | 它与更新字段一起使用。如果为true,它会创建一个新文档并更新与查询匹配的单个文档。此字段的默认值为false。 | bypass 文档 验证 | boolean | 它使findAndModify能够在此过程中绕过文档验证。 | writeConcern | document | 它是一个表示命令写入关注的文档。 | maxTimeMS | 整数 | 它声明操作的时间限制。 | FindAndModify | String | 此字段包含我们必须运行命令的集合。 | 排序规则 | collation 字段允许用户指定字符串比较的特定语言规则。 语法collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
} | arrayFilters | 数组 | 它是过滤器文档数组,用于确定将为更新操作修改哪些数组元素。 |
示例
|