我下載的是 mongo-2.8.0.jar — Version 2.8.0
打開mongo shell -- 新建數(shù)據(jù)庫test --( use test)
打開eclipse新建工程,把junit,mongo-2.8.0.jar導(dǎo)入。
新建測(cè)試類如下:
package com.db;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import org.bson.types.ObjectId;
import org.junit.After;
import org.junit.Test;
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;
public class DBUtils {
? ? private static Mongo mongo;
? ? private static DB db;
? ? static {
? ?? ???try {
? ?? ?? ?? ?mongo = new Mongo("localhost", 27017);
? ?? ???} catch (UnknownHostException e) {
? ?? ?? ?? ?e.printStackTrace();
? ?? ???} catch (MongoException e) {
? ?? ?? ?? ?e.printStackTrace();
? ?? ???}
? ?? ???db = mongo.getDB("test");
? ? }
? ? @After
? ? public void output() {
? ?? ???// 測(cè)試完顯示所有
? ?? ???DBCollection dbc = db.getCollection("user");
? ?? ???DBCursor cursor = dbc.find();
? ?? ???while (cursor.hasNext()) {
? ?? ?? ?? ?// cursor.next就是一行記錄(一個(gè)文檔)
? ?? ?? ?? ?System.out.println(cursor.next());
? ?? ???}
? ? }
? ? @Test
? ? public void testInsert() throws Exception {
? ?? ???DBCollection dbc = db.getCollection("user");
? ?? ???DBObject object = new BasicDBObject();
? ?? ???object.put("username", "zdw");
? ?? ???object.put("password", "123");
? ?? ???// 一個(gè)人有一個(gè)職位
? ?? ???// 數(shù)據(jù)庫json格式:{username:"zdw",password:"123",position:{name:"工程師"}}
? ?? ???BasicDBObject o = new BasicDBObject();
? ?? ???o.put("name", "經(jīng)理");
? ?? ???object.put("position", o);
? ?? ???dbc.insert(object);
? ?? ???object = new BasicDBObject();
? ?? ???object.put("username", "zhangjun");
? ?? ???object.put("password", "456");
? ?? ???// 一個(gè)人有多個(gè)職位(一個(gè)文檔里有多個(gè)文檔)
? ?? ???// 數(shù)據(jù)庫json格式:{username:"zhangjun",password:"456",position:[{name:"工程師"},{name:"設(shè)計(jì)師"}]}
? ?? ???List<Object> list = new ArrayList<Object>();
? ?? ???o = new BasicDBObject();
? ?? ???o.put("name", "工程師");
? ?? ???list.add(o);
? ?? ???o = new BasicDBObject();
? ?? ???o.put("name", "設(shè)計(jì)師");
? ?? ???list.add(o);
? ?? ???object.put("position", list);
? ?? ???dbc.insert(object);
? ? }
? ? // 刪除指定
? ? @Test
? ? public void testRemoveOne() throws Exception {
? ?? ???DBCollection dbc = db.getCollection("user");
? ?? ???DBObject o = new BasicDBObject();
? ?? ???o.put("username", "zhangjun");
? ?? ???dbc.remove(o);
? ? }
? ? @Test
? ? public void testModify() throws Exception {
? ?? ???DBCollection dbc = db.getCollection("user");
? ?? ???// 根據(jù)id修改密碼,需要加$set,否則所有記錄的password都會(huì)被修改,其它字段刪除。
? ?? ???int result = dbc.update(
? ?? ?? ?? ?? ?? ?? ?? ?new BasicDBObject("_id", new ObjectId(
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???"4ff8eaa65dbc67340278a07c")),
? ?? ?? ?? ?? ?? ?? ?? ?new BasicDBObject("$set", new BasicDBObject("password",
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???"4444"))).getN();
? ?? ???System.out.println(result);
? ? }
? ? @Test
http://www.shengshiyouxi.com
? ? public void testRemove() throws Exception {
? ?? ???DBCollection dbc = db.getCollection("user");
? ?? ???// 刪除全部
? ?? ???dbc.drop();
? ? }
? ? // 查詢指定
? ? @Test
? ? public void testFindOne() throws Exception {
? ?? ???DBCollection dbc = db.getCollection("user");
? ?? ???DBObject o = new BasicDBObject();
? ?? ???o.put("username", "zdw");
? ?? ???DBObject obj = dbc.findOne(o);
? ?? ???System.out.println(obj);
? ? }
}
??
這種key-value存儲(chǔ)方式,操作很方便。
源碼下載
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
