0
我使用put方法作为 basicobj.put(“1”,obj.setAddre()+ obj1.setFName()); 在更新时,我只想更新地址,但在此处的值正在更新。正在更新密钥“1”的值。有没有任何方法或给我提示只更新地址。 这里是我的代码...使用java更新mongodb
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("[email protected]");
obj1.setPNumber("02024568963");
AccessObject obj2 = new AccessObject();
obj2.setAddre(",USA");
obj2.setFirstName("udsy ");
obj2.setLName("jhkjhkjad");
obj2.setEmail("[email protected]");
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);
}
}
呀,使用$设置为仅更新特定领域 –
部门编号:-42,洛杉矶,美国这个地址我想更新,但问题是,对“1”键IM具有整个值i,e;输出如下所示: - {“_id”:{“$ oid”:“55891e47c018ab3d78ebeb28”},“1”:“Sector No:-42,Los Angeles,USAJackReacherJack_reacher @ myid.com02024568963”当我更新整个事情得到更新,但我只想要地址更新而不是重置的东西 –