java给mongo数组添加_如何使用具有新值的java在mongodb中的现有集合中追加现有数组...

我有一个mongo集合,如:

{

"_id": ObjectId("55cad746aed75601b4822cc9"),

"entityId": "12",

"entityType": "a",

"nameIdentity": [{

"fName": "abc",

"lName": "def",

"dob": "00",

"address": "xyz"

},

]

}

我正在使用mongodb java 3.0驱动程序并尝试匹配和更新.例如:我试图匹配entityId,如果它找到,然后添加新的nameIdentity.

我第二次通过

{

"fName": "123",

"lName": "456",

"dob": "00",

"address": "789"

}

对于我的entityId:12如果它匹配,那么我的新集合应该是这样的:

{

"_id": ObjectId("55cad746aed75601b4822cc9"),

"entityId": "12",

"entityType": "a",

"nameIdentity": [{

"fName": "abc",

"lName": "def",

"dob": "00",

"address": "xyz"

}, {

"fName": "123",

"lName": "456",

"dob": "00",

"address": "789"

}]

}

我想将它添加到相同的匹配对象或集合中.但它取代了以前的数组,并添加了这样的新:

{

"_id": ObjectId("55cad746aed75601b4822cc9"),

"entityId": "12",

"entityType": "a",

"nameIdentity": [

{

"fName": "123",

"lName": "456",

"dob": "00",

"address": "789"

}

]

}

当实体ID匹配时,我想要添加所有内容而不更新.我尝试的代码是:

mongoDatabase.getCollection("entity").findOneAndUpdate(

updateDocument, new Document("$set",entityDocument));

我尝试使用$push和$set.它创建了一个新的nameIdentity数组.但我想添加相同匹配的nameIdentity数组.有什么建议我哪里出错了?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值