Vimer.Me

基础·极致·分享

煮酒编码空望月,疯疯癫癫醉人生


MongoDB


  1. MongoDB Map-Reduce 原理及提速

    想要优化Map-reduce就要深入理解其原理.
    Map-Reduce基本原理请见下图:

    Map-Reduce基本原理

    阅读全文 Map-Reduce, MongoDB

  2. Node.js原子性操作MongoDB

    假设基础数据为:

    
    {
        "name" : "cb",
        "data" : 0,
    }
    
    

    有时候为了充分利用多核,会同时开启多个node进程,但是若部分代码若涉及到操作mongodb就会有下面现象.
    “理想情况下”,多个进程执行完后得数据为:

    
    {
        "name" : "cb",
        "data" : 6000,
    }
    
    

    其实不然 !

    阅读全文 MongoDB, Node.js, 原子性

  3. MONGODB的BASIC INDEXES 和 COMPOUND INDEXES 研究

    前几天看到一个关于 MongoDB 深入索引的PPT

    MongoDB Indexing: The Details

    仔细的从头看到尾, 里面有个关于Compound Indexes的Range and Equality的讲解,在ppt第129页,重新回顾下这个例子.向一个collection中插入 9 条数据,像下面这样:

    
    > db.good.find()
    { "_id" : ObjectId("4e8d629d8ad8bdf2ed6c1990"), "x" : 1, "y" : "b" }
    { "_id" : ObjectId("4e8d62a38ad8bdf2ed6c1991"), "x" : 3, "y" : "d" }
    { "_id" : ObjectId("4e8d62ad8ad8bdf2ed6c1992"), "x" : 4, "y" : "g" }
    { "_id" : ObjectId("4e8d62b28ad8bdf2ed6c1993"), "x" : 5, "y" : "c" }
    { "_id" : ObjectId("4e8d62ba8ad8bdf2ed6c1994"), "x" : 6, "y" : "a" }
    { "_id" : ObjectId("4e8d62c18ad8bdf2ed6c1995"), "x" : 7, "y" : "e" }
    { "_id" : ObjectId("4e8d62ce8ad8bdf2ed6c1996"), "x" : 8, "y" : "c" }
    { "_id" : ObjectId("4e8d62d38ad8bdf2ed6c1997"), "x" : 9, "y" : "f" }
    { "_id" : ObjectId("4e8d719a6cee6416a5a75a43"), "x" : 5, "y" : "d" }
    
    

    阅读全文 MongoDB, 索引