I bazı kriterleri bir nesne kaldırarak dizi değiştirmek için çalışıyorumBir belgeyi diziden nasıl kaldırabilirim?
{
"_id" : ObjectId("5708bf40a86e6f5bd1f45354"),
"companyId" : ObjectId("5708bed6a86e6f5bd1f4534f"),
"descriptions" : [
{ "id" : ObjectId("5708bf40a86e6f5bd1f45351"), "description" : "test" },
{ "id" : ObjectId("5708bf40a86e6f5bd1f45352"), "description" : "test1" },
{ "id" : ObjectId("5708bf40a86e6f5bd1f45353"), "description" : "test2" }
]
}
ve şimdi de bu yapıya sahip bir doküman ekledikten - bu durumda belirli bir id
nesneyi uzaklaştırmak için ihtiyaç . İşte
Ben Bu setCollection
yöntem updateOne
hiç bir şey yapmaz
private MongoCollection<Document> setCollection(final String collectionName){
return db.getCollection(collectionName);
}
herhangi bir başarı
public void deleteCustomField(final String descriptionId, final ObjectId companyId){
MongoCollection<Document> collection = setCollection(CUSTOM_FIELDS_COLLECTION);
collection.updateOne(and(eq("companyId", companyId), eq("descriptions.id", new ObjectId(descriptionId))), new Document("$unset", new Document("descriptions.description", "")));
}
olmadan, şimdiye kadar yapıyorum budur. Sorgunun tuhaf olduğunu biliyorum, ancak neler olduğunu ve belgeden dizinin nasıl kaldırılacağını anlayamıyorum. Ayrıca $pull
ile denedim ama hiç şansım olmadı.
Burada küçük ve gerçekten basit bir şey eksik olduğumu biliyorum, ama bir MongoDB başlangıç olarak, bunu tespit edemiyorum.
Bana itiraz edebilir misiniz?
Cevabınız için teşekkürler, bazı iyi belgelerin okunmasından sonra çalışmayı başardım. – Slim
Bir şey değil. Çözümüm çalışıyor mu? İstediğinize daha uygun bir şey bulursanız, lütfen yanıt olarak ekleyin. – tartard