MongoDB 非常杂碎的笔记

1: key 里面不能有 . , 然后我比较推荐将它处理为_dot_这样子的自定义符号

2:多用bulk操作,语法忘了就查吧,在我的需求当中我需要遍历的一个collection的时候发现某个变量没有为true的时候就处理下那个document里面的link的这个value,在处理完之后把那个变量标示为true,那么这个时候就需要把储够一定数量的更新操作后 ,用bulk操作来批量地更新,大概是这个样子的,如下代码,还有一个需要注意的是,拿出某一个doc的时候,要它的内置 _id的话,先以字符串形式拿出那个id的串,然后new 一个ObejectID, 就可以了,不能直接用string进去的:

        BulkWriteOperation bulkWriteOperation = myCollection.initializeUnorderedBulkOperation();
        while(myCursor.hasNext()) {
            
            DBObject tempObject = myCursor.next();
            String tempString = tempObject.get("_id").toString();
            System.out.println(tempString);
            bulkWriteOperation.find(new BasicDBObject("_id", new ObjectId(tempString))).updateOne(new BasicDBObject("$set", new BasicDBObject("vendor", "sigma_corporation")));            
        }
        bulkWriteOperation.execute();

3:处理网页中的   用unicode形式的方法来: 

        String clean_string = "";
        clean_string = dirty_string.replace("\u00a0", "");

4:cursor可以设置每次fetch的大小,它默认的情况下是会读取101个doc进内存的,方法是batchsize

 

MongoDB 非常杂碎的笔记,布布扣,bubuko.com

MongoDB 非常杂碎的笔记

上一篇:sqlite学习笔记7:C/C++中使用sqlite之打开数据库


下一篇:sqlite删除字段办法 near 'drop':syntax error;