zoukankan      html  css  js  c++  java
  • MongoDB资料汇总

    Mongodb是一个比较流行的nosql软件,windows linux mac平台上都有发行版本,经过测试,效率还是非常不错的,但是对内存的消耗非常大,因为使用了mapviewoffile,即直接将硬盘数据映射到内存,因此需要整片内存去载入(http://www.cnblogs.com/daizhj/archive/2011/04/25/mongos_mmap_source_code.html)。内存监控和管理还是非常重要的。


    资料汇总:

    mongodb下载:http://www.mongodb.org/display/DOCS/Quickstart

    Java对应驱动:https://github.com/mongodb/mongo-java-driver/downloads

    《10天掌握MongoDB》2012翻新完整版.pdf" http://vdisk.weibo.com/s/7-tgW

    "MongoDB The Definitive Guide.pdf" http://vdisk.weibo.com/s/7AF7f

    其他资料:

    http://blog.nosqlfan.com/tags/mongodb
    http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html

    深入了解mongodb,源码解析:http://www.cnblogs.com/daizhj/category/260889.html

    //附:java基本操作


    package org.senma.test.mongo;

    /**
    * Copyright (C) 2008 10gen Inc.
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
    * You may obtain a copy of the License at
    *
    * http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */

    import com.mongodb.Mongo;
    import com.mongodb.DBCollection;
    import com.mongodb.BasicDBObject;
    import com.mongodb.DBObject;
    import com.mongodb.DBCursor;
    import com.mongodb.DB;

    import java.util.Set;
    import java.util.List;

    public class QuickTour {

    public static void main(String[] args) throws Exception {

    // connect to the local database server
    Mongo m = new Mongo();

    // get handle to "mydb"
    DB db = m.getDB( "mydb" );

    // Authenticate - optional
    // boolean auth = db.authenticate("foo", "bar");


    // get a list of the collections in this database and print them out
    Set<String> colls = db.getCollectionNames();
    for (String s : colls) {
    System.out.println(s);
    }

    // get a collection object to work with
    DBCollection coll = db.getCollection("testCollection");

    // drop all the data in it
    coll.drop();


    // make a document and insert it
    BasicDBObject doc = new BasicDBObject();

    doc.put("name", "MongoDB");
    doc.put("type", "database");
    doc.put("count", 1);

    BasicDBObject info = new BasicDBObject();

    info.put("x", 203);
    info.put("y", 102);

    doc.put("info", info);

    coll.insert(doc);

    // get it (since it's the only one in there since we dropped the rest earlier on)
    DBObject myDoc = coll.findOne();
    System.out.println(myDoc);

    // now, lets add lots of little documents to the collection so we can explore queries and cursors
    for (int i=0; i < 100; i++) {
    coll.insert(new BasicDBObject().append("i", i));
    }
    System.out.println("total # of documents after inserting 100 small ones (should be 101) " + coll.getCount());

    // lets get all the documents in the collection and print them out
    DBCursor cur = coll.find();
    while(cur.hasNext()) {
    System.out.println(cur.next());
    }

    // now use a query to get 1 document out
    BasicDBObject query = new BasicDBObject();
    query.put("i", 71);
    cur = coll.find(query);

    while(cur.hasNext()) {
    System.out.println(cur.next());
    }

    // now use a range query to get a larger subset
    query = new BasicDBObject();
    query.put("i", new BasicDBObject("$gt", 50)); // i.e. find all where i > 50
    cur = coll.find(query);

    while(cur.hasNext()) {
    System.out.println(cur.next());
    }

    // range query with multiple contstraings
    query = new BasicDBObject();
    query.put("i", new BasicDBObject("$gt", 20).append("$lte", 30)); // i.e. 20 < i <= 30
    cur = coll.find(query);

    while(cur.hasNext()) {
    System.out.println(cur.next());
    }

    // create an index on the "i" field
    coll.createIndex(new BasicDBObject("i", 1)); // create index on "i", ascending


    // list the indexes on the collection
    List<DBObject> list = coll.getIndexInfo();
    for (DBObject o : list) {
    System.out.println(o);
    }

    // See if the last operation had an error
    System.out.println("Last error : " + db.getLastError());

    // see if any previous operation had an error
    System.out.println("Previous error : " + db.getPreviousError());

    // force an error
    db.forceError();

    // See if the last operation had an error
    System.out.println("Last error : " + db.getLastError());

    db.resetError();
    }
    }

  • 相关阅读:
    POJ 2661
    POJ 2643
    POJ 2656
    POJ 2612
    POJ 2636
    搭建WordPress个人博客
    【个人笔记】ximo早期发的脱壳教程——手脱UPX壳
    2.1【欢乐向】攻防世界新手逆向刷题被虐哭日常记录
    吾爱破解培训第一课个人笔记
    第五章 计算机组成
  • 原文地址:https://www.cnblogs.com/pony/p/2576497.html
Copyright © 2011-2022 走看看