我有一個MongoDB中收集這樣的文件:如何更新和添加到子文檔列表與Spring +蒙戈
{
id : ...
listA:[{
id: ...,
thing:...,
listB:[{...},{...}]
},...
]
}
(頂層ID是正常的自動生成的MongoDB ID的其他ID子文檔對象的是,我已經單獨地生成並推入列表)
問題的僞ID:我想(1)添加到listB
和(2)變化thing
釷對象可能非常沉重,並且有可能多個線程可能在對象上運行,所以我想避免findOne
,更新,然後save
類型的場景。
我想,我已經做了推動listA
類似的方式來做到這一點春的數據,即
@Autowired
private MongoOperations operations;
public void addStuff(String id, Stuff stuff) {
operations.updateFirst(Query.query(Criteria.where("_id").is(id)),
new Update().addToSet("listA", stuff), Stuffs.class);
}
但是我無法生成正確的查詢/標準。
在此先感謝。
的感謝,我會一展身手。即使字段名稱是「id」而不是mongo ID,它總是「_id」嗎? –
@ user2393012不確定它應該是您的密鑰名稱.where(「keyName」)。is(「value」) –