使用java在mongodb中更新
我使用put方法作为 巴西科布。放置(“1”,对象setAddre()+obj1。setFName()); 更新时,我只想更新地址,但此处的enitre值正在更新。键“1”的值正在更新。是否有任何方法或提示我只更新地址。 这是我的密码
public class AccessObjectID{
public static void main(String[] args)throws UnknownHostException {
AccessObject obj1 = new AccessObject();
obj1.setAddre("Sector No:-42,Los Angeles,USA");
obj1.setFirstName("Jack");
obj1.setLName("Reacher");
obj1.setEmail("Jack_reacher@myid.com");
obj1.setPNumber("02024568963");
AccessObject obj2 = new AccessObject();
obj2.setAddre(",USA");
obj2.setFirstName("udsy ");
obj2.setLName("jhkjhkjad");
obj2.setEmail("aisisior@myid.com");
obj2.setPNumber("02024568963");
MongoClient mongoclient = new MongoClient("localhost",27017);
DB dbobj = mongoclient.getDB("demo");
DBCollection colc = dbobj.getCollection("demo_1");
BasicDBObject basicdbobj = new BasicDBObject();
colc.remove(basicdbobj);
basicdbobj.put("1", obj1.getAddress()
+obj1.getFName()
+obj1.getLName()
+obj1.getEmail()
+obj1.getPNumber());
basicdbobj.put("2", obj2.getAddress()
+obj2.getFName()
+obj2.getLName()
+obj2.getEmail()
+obj2.getPNumber());
colc.insert(basicdbobj);
DBCursor db = colc.find();
while(db.hasNext()){
System.out.println(db.next());
}
System.out.println("********************************** \n"+"UPDATE");
obj1.setAddre("Pune,India");
BasicDBObject update = new BasicDBObject();
update.put("1",obj1.getAddress());
BasicDBObject updateobj = new BasicDBObject();
updateobj.put("$set",update);//new BasicDBObject().append("",""));//update);
colc.update(basicdbobj, updateobj);
db = colc.find();
while(db.hasNext()){
System.out.println(db.next());
}
colc.save(basicdbobj);
}
}
# 1 楼答案
据我所知,您希望替换地址值为“印度浦那”的文档的地址值。如果是这种情况,请尝试以下方法: