我阅读了MongoDb中的文档,使用了一个简单的证明,我只看到:

对我来说视觉上是一样的,我不知道有什么不同.

谁能解释一下区别吗?

另一个 idea 是,如果可以用西班牙语或简单的英语,我会详细说明.

推荐答案

$addToSet如果已经包含该项,则不要将其添加到给定字段中,另一方面,$push会将给定对象添加到字段中,无论其是否存在.

{_id: "docId", items: [1, 2]}
db.items.update({_id:"docId"}, {$addToSet:{items: 2}}); // This won't update the document as it already contains 2
db.items.update({_id:"docId"}, {$push: {items:2}}); // this will update the document. new document {_id: "docId", items:[1,2,2]}

Mongodb相关问答推荐

MongoDB聚合匹配字符串字符

MongoDB:就地分组嵌套数组的元素

将消息流式传输到WebSocket

Mongo 聚合将 $sort 与 $geoNear 结合使用

类型错误:db.close is not a function

解析命令行时出错:unrecognized option --rest

使用 Spring Boot >= 2.0.1.RELEASE 将 ZonedDateTime 保存到 MongoDB 时出现 CodecConfigurationException

使用模拟 MongoDB 服务器进行单元测试

Mongo查找对象内最长数组的查询

mongodb,pymongo,aggregate聚合给出奇怪的输出

嵌套在文档数组中的mongodb展开数组

为什么使用 Redis 而不是 MongoDb 进行缓存?

使用 Java 驱动程序更新 MongoDB 中的数组

Mongo Schema-less集合和 C#

Mongodb 设计,嵌入与关系

使用 mongoengine 将多文档插入到 mongodb

MongoDb 连接被拒绝

验证 MongoCredential 的异常和未分类的 Mongo Db 异常

Spring Data MongoDB - 在哪里以编程方式为 Mongo 集合创建索引?

如何使用户的邮箱在 mongoDB 中唯一?