数据库

 首页 > 数据库 > MongoDB > MongoDB Java API更新数据演示代码

MongoDB Java API更新数据演示代码

分享到:
【字体:
导读:
         摘要:/***MongoDBTest*MongoDB更新数据使用示例*/packagecom.labci.mongodb.test;importjava.net.UnknownHostException;importjava.util.Iterator;importcom.mongodb.BasicDBObject;impo...

MongoDB Java API更新数据演示代码

/**

 * MongoDBTest

 * MongoDB更新数据使用示例

 */

package com.labci.mongodb.test;

import java.net.UnknownHostException;

import java.util.Iterator;

import com.mongodb.BasicDBObject;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.DBCursor;

import com.mongodb.DBObject;

import com.mongodb.Mongo;

import com.mongodb.MongoException;

/**

 * 

 * @author Bill Tu(tujiyue/iwtxokhtd)

 * May 22, 2011[3:10:56 PM]

 *

 */

public class MongoDBUpdateDataTest {

private static final String HOST = "192.168.1.86";

private static final int PORT = 27017;

private static final String USER = "iwtxokhtd";

private static final String PASSWORD = "123456";

private static final String DB_NAME = "test";

private static final String COLLECTION = "insert_test";

private static Mongo conn=null;

private static DB myDB=null;

private static DBCollection myCollection=null;

static{

try {

conn=new Mongo(HOST,PORT);//建立数据库连接

myDB=conn.getDB(DB_NAME);//使用test数据库

boolean loginSuccess=myDB.authenticate(USER, PASSWORD.toCharArray());//用户验证

if(loginSuccess){

myCollection=myDB.getCollection(COLLECTION);

}

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (MongoException e) {

e.printStackTrace();

}

}

/**

* 更新“表”数据

* @param collection

*/

private static void updateData(DBCollection collection){

DBObject updateCondition=new BasicDBObject();

//where name='fox'

updateCondition.put("name", "fox");

DBObject updatedValue=new BasicDBObject();

updatedValue.put("headers", 3);

updatedValue.put("legs", 4);

DBObject updateSetValue=new BasicDBObject("$set",updatedValue);

/**

* update insert_test set headers=3 and legs=4 where name='fox'

* updateCondition:更新条件

* updateSetValue:设置的新值

*/

collection.update(updateCondition, updateSetValue);

DBObject queryCondition=new BasicDBObject();

//where name='sam',此条件在更新前不是成立的

queryCondition.put("name", "sam");

DBObject setValue=new BasicDBObject();

setValue.put("headers", 1);

setValue.put("legs", 1);

DBObject upsertValue=new BasicDBObject("$set",setValue);

/**

* 后面两个参数含义分别是:

* 若所更新的数据没有,则插入

* ,同时更新多个符合条件的文档(collection)

*/

collection.update(queryCondition, upsertValue, true, true);

//set headers=headers+2

DBObject incValue=new BasicDBObject("headers",2);

//set legs=4

DBObject legsValue=new BasicDBObject("legs",4);

DBObject allCondition=new BasicDBObject();

allCondition.put("$inc", incValue);

allCondition.put("$set", legsValue);

collection.update(queryCondition, allCondition);

}

/**

* 返回查询结果集

* @param collection

* @return

*/

private static DBCursor queryData(DBCollection collection){

DBCursor queriedData=collection.find();

return queriedData;

}

/**

* 打印结果数据

* @param description 结果数据相关描述

* @param recordResult 结果集

*/

private static void printData(String description,DBCursor recordResult){

System.out.println(description);

for(Iterator iter=recordResult.iterator();iter.hasNext();){

System.out.println(iter.next());

}

}

/**

* @param args

*/

public static void main(String[] args) {

printData("查看一下更新前的数据:",queryData(myCollection));

//更新数据

updateData(myCollection);

printData("查看一下更新后的数据:",queryData(myCollection));

}

}

MongoDB Java API更新数据演示代码
分享到:
以Windows服务方式安装MongoDB数据库
以Windows服务方式安装MongoDB数据库 MongoDB作为一个基于分布式文件存储的数据库,近两年大受追捧。数据灵活的存取方式和高效的处理使得它广泛用于互联网应用。 最近本人开始在Windows 32位平台下研究MongoDB的使用,为了方便,本人更喜欢将其安装为Windows的系统服务。这样就不用每次开一个mongod的主流程序了。 ...
MongoDB查询技巧
MongoDB查询技巧 1.1查询返回指定的键: --先查询全部的键如下: > db.person.find() { "_id" : ObjectId("4f508eeff536645151bca18c"), "age" : 1 } { "_id" : ObjectId("4f508e7bf536645151bca18a"), "name" : "tangke", "age" : 21 }。 --再查询返回指定的键如下: > db.person.find({},{"age":1}) { "_id"...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……