MongoDB是否查询客户端操作?

可以说我有一个文件

{ "_id" : ObjectId("544946347db27ca99e20a95f"), "nameArray": [{"id":1 , first_name: "foo"}] 

现在我需要使用$ push将数组推入到nameArray中。 如何在这种情况下更新文档。 客户端是否检索到文档,并在客户端进行更新,然后将更改反映到Mongodb数据库服务器。 整个操作在Mongodb数据库中进行。

你在这里问的是如果MongoDB操作是客户端操作。 简短的回答是NO

在MongoDB中,查询是针对文档中提到的特定文档集合,而集合是一组存在于单个数据库中的MongoDB文档。 集合就是RDBMS中的表格。 所以如果查询的目标是一个特定的集合,那么这意味着它们在数据库级别执行,因此在服务器端。 同样的事情适用于数据修改和聚合操作。

有时,您的操作可能涉及客户端处理,因为MongoDB不提供实现您想要的方法。 一般来说,只有当您想要修改集合中的文档结构或更改字段types时,才需要这些types的处理。 在这种情况下,您将需要检索您的文档,使用批量操作执行修改

请参阅文档:

您的数组作为一个元素插入到现有数组中。 如果数组不存在,则创build它。 如果目标不是数组,则操作失败。

没有任何内容像“将元素重新提交给客户端并在那里更新”。 所以操作完全在数据库服务器端完成。 我不知道有什么操作像你描述的那样工作。 除非您要链接查询,修改客户端中的项目和更新。 但这些是两个分开的操作,而不是一个单一的命令。