Я хочу обновить объект внутри массива в mongodb с помощью java-программы
"cmd" : [ { "a" : 1 }, { "b" : 2 }, { "c" : 3 } ] } i need to update object inside a array{"d":4}..
Что я уже пробовал:
<pre>package hellomongo; import javax.lang.model.element.Element; import org.bson.Document; import com.mongodb.BasicDBObject; import com.mongodb.DBCollection; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class Mongoh{ public static void main(String args[]) { MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase db = mongoClient.getDatabase("admin"); MongoCollection<Document> coll = db.getCollection("command"); BasicDBObject lurl = new BasicDBObject(); BasicDBObject lurl2 = new BasicDBObject(); BasicDBObject lkey = new BasicDBObject(); for(Element e : links){ DBCollection colls = db.getCollection(e.text()); lurl.put("d", e.attr("4")); lurl2.put("$addToSet", new BasicDBObject(lurl)); lkey.put("a", e.text()); colls.update(lkey, lurl2); } } }
Patrice T
В чем же проблема ?
Member 13809409
я не обновляю значение в mongodb, я попадаю в вывод программы :
[{ "a" : 1.0 }, { "b" : 2.0 }, { "c" : 3.0 }, { "d" : 4.0 }]
в MongoDB:
{
"_id" : ObjectId("5afc4091884ee5cb97cd53eb"),
"УМК" : [
{
"а" : 1
},
{
"Б" : 2
},
{
"с" : 3
}
]
}
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.
Richard MacCutchan
В чем проблема - опять же? Ни в вашем вопросе, ни в вашем коде нет ничего, что объясняло бы, что не работает.
Member 13809409
я не обновляю объект внутри массива ..это моя проблема помогите мне
Richard MacCutchan
Это нам ни о чем не говорит.
Member 13809409
я хочу обновить "d":4 после "c":3
вход:
{
"_id" : ObjectId("5b025f11c70c628aeac5f78e"),
"УМК" : [
{
"а" : 1
},
{
"Б" : 2
},
{
"с" : 3
}
]
}
Richard MacCutchan
И что вам мешает это сделать?
Member 13809409
это мое требование..пожалуйста, помогите мне
Member 13809409
в mongodb с программированием на java