Mongodb 如何插入新对象而不删除以前的对象

Mongodb 如何插入新对象而不删除以前的对象,mongodb,mongodb-query,rocket.chat,Mongodb,Mongodb Query,Rocket.chat,我正在安装我的新RocketChat服务器 问题是,如果不是由CAS创建的,Rocket Chat实际上不支持CAS帐户 我们有旧帐 我可以通过以下操作添加CAS功能: 使用Windows上的MongoDB Compass软件进入MongoDB数据库,并使用我的键盘在服务对象中添加cas对象 如您所见,我可以通过这样做添加CAS功能 我想用代码实现这一点,所以我做到了: 1-进入rocketchat_mongo docker 2-连接管理员登录并使用rocketchat数据库 3-执行此代码

我正在安装我的新RocketChat服务器

问题是,如果不是由CAS创建的,Rocket Chat实际上不支持CAS帐户

我们有旧帐

我可以通过以下操作添加CAS功能:

使用Windows上的MongoDB Compass软件进入MongoDB数据库,并使用我的键盘在服务对象中添加cas对象

如您所见,我可以通过这样做添加CAS功能

我想用代码实现这一点,所以我做到了:

1-进入rocketchat_mongo docker

2-连接管理员登录并使用rocketchat数据库

3-执行此代码

db.users.update({"name":"Fabien Rousseau"},{ $set: {"services" : { "cas" : { "external_id" : "fabien.rousseau", "version" : 2 }}}})
该命令是正常的,因为CAS对象已添加到服务中,但是,它删除了另一个对象,如password和resume

我只想添加CAS对象而不删除其他对象

我的预期结果出现在第一张图片中:CAS帐户

实际上,在执行命令之后,我有以下内容:


请帮助我调整命令,以避免删除我的服务对象中的其他对象。

您正在将整个
服务
(包括所有其他字段)传递到
$set
,因此,您正在重置
服务
中嵌套的所有字段。使用

要在嵌入文档或数组中指定字段,请使用点表示法


您正在将整个
服务
(包括所有其他字段)传递到
$set
,因此,您正在重置
服务
中嵌套的所有字段。使用

要在嵌入文档或数组中指定字段,请使用点表示法


我也不知道为什么,但我需要10%的声誉来放图片。。。所以很抱歉链接的家伙…我不知道为什么,但我需要10的声誉,把图片。。。很抱歉链接的家伙们…你好,非常感谢你,一切正常。现在我可以更新我的所有数据库了!:)你好,非常感谢你,它工作正常。现在我可以更新我的所有数据库了!:)
db.users.update({"name":"Fabien Rousseau"},{ $set: { "services.cas" : { "external_id" : "fabien.rousseau", "version" : 2 }}})