上一页 1 ··· 6 7 8 9 10
摘要: 查询是我们在使用数据库过程中使用最频繁的操作,掌握查询的技巧是每个合格程序员必备的素质,下面来学习一下mongodb的查询。 一、find简介 查询就是返回被查询集合的子集,子集的范围从0个到整个集合,find的第一个参数为查询条件,如果不设置条件则返回整个文档。 例:db.c.find() db.c.find({'age':27}) db.c.find({'age':27, 'name':'leon'}) #and 条件,意思是age为27且name为leon 1、指定返回值 find函数的第二个参数用来设定返回字段,通过过滤不 阅读全文
posted @ 2012-11-22 01:11 践道者 阅读(281) 评论(0) 推荐(0) 编辑
摘要: mkdir(与windows dos里的md一样)参数:-m 分配权限-p 指定路径例:mkdir dir_namermdir例:rmdir dir_name参数:-p 递归删除 阅读全文
posted @ 2012-11-21 10:46 践道者 阅读(1977) 评论(0) 推荐(0) 编辑
摘要: 一、插入并保存文档insert方法,如:db.foo.insert({'bar':'baz'})此操作会给文档增加一个"_id"键1、批量插入 多个文档的插入时,使用批量插入比单个一次次插入会快,因为一次批量插入只消耗一个TCP请求,避免许多零碎请求带来的开销,当单个文档发送至数据库时,会有一个头部信息,如果不用批量,则产生多个头部信息以便数据库处理。当前版本mongoDB最大消息长度为16MB,所以插入时会有所限制。 2、插入原理与作用 当行插入时,驱动程序会将数据转换成BSON形式送入数据库,数据库对BSON进行解析、验证(是否有&quo 阅读全文
posted @ 2012-11-19 21:38 践道者 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1、使用shell的窍门mongo是个javascript shell,如insert,update remove其实就是js函数,如果想了解这些函数的源码,不要输入括号就可以了显示了。集合名不能是数据库类的属性,如db.version,当属性和目标集合同名时,可以使用getCollection函数正确获取集合名,db.getCollection("version")getCollection 函数还可以对 foo-bar这样的集合进行正确获取,因为foo-bar在js里是变量相减的意思。2、数据类型 1)基本数据类型 json的数据类型:null、布尔、数字、字符串、数组 阅读全文
posted @ 2012-11-18 01:34 践道者 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 一、文档文档是MongoDB的核心概念,多个键及其关联的值有序地放置在一起便是文档.{"greeting":"Hello,world"}重要概念:1、文档的键/值对是有序的2、文档的键是字符串3、既区分类型也区分大小写4、不能有重复的键二、集合文档相当于关系数据库中的行,集合相当于表.1、无模式,意味着集合里的文档可以是各种各样的为什么要使用多集合?1)分类文档让查询更清晰2)加快查询速度3)数据更集中,减少磁盘寻道操作4)使索引更加有效 2、命名 规则: 集合不能有空字符串 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾 集合名不能以 &q 阅读全文
posted @ 2012-11-17 00:59 践道者 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1 import inspect2 3 def get_current_function_name():4 return inspect.stack()[1][3] 阅读全文
posted @ 2012-11-16 19:07 践道者 阅读(1046) 评论(0) 推荐(0) 编辑
摘要: 第一章1、面向文档的数据库,不是关系形数据库2、面向文档的数据模型可使数据在多台服务器之间分割,平衡集群的数据和负载3、具有的功能:索引、聚合、固定集合、文件存储4、卓越的性能,把逻辑尽量交给客户端5、简便的管理方式,除启动数据库服务器外几乎没其它必要操作 阅读全文
posted @ 2012-11-16 01:15 践道者 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 非常简单,首先是在本机安装memcache服务并启动,d:\memcached\memcached.exe -d install #安装d:\memcached\memcached.exe -d start #启动如果没有在启动时配置参数,默认端口则为11211接着下载 memcache python版client#coding=utf8import memcachemcache= memcache.Client(['127.0.0.1:11211'])print mcache.set('say','hello,memcache') #displ 阅读全文
posted @ 2012-11-16 00:40 践道者 阅读(6531) 评论(0) 推荐(0) 编辑
摘要: 由于python 没有抽象类、接口的概念,所以要实现这种功能得abc.py 这个类库,具体方式如下 1 from abc import ABCMeta, abstractmethod 2 3 #抽象类 4 class Headers(object): 5 __metaclass__ = ABCMeta 6 7 def __init__(self): 8 self.headers = '' 9 10 @abstractmethod11 def _getBaiduHeaders(self):pass12 13 def __str__(se... 阅读全文
posted @ 2012-11-15 19:25 践道者 阅读(34135) 评论(0) 推荐(1) 编辑
摘要: ord()把ASCII转换成数字chr()则相反,把数字转换成ASCIIord('s') #115chr(115) #s 阅读全文
posted @ 2012-11-15 09:32 践道者 阅读(4676) 评论(0) 推荐(0) 编辑
摘要: 1 _DEFAULT_CONFIG = { 2 'name':None 3 } 4 5 class TestProperty(object): 6 def __init__(self, config): 7 self._config = config or {} 8 9 def __GetName(self):10 return self._config['name']11 12 def __SetName(self, name):13 self._config['name'] = name14 15... 阅读全文
posted @ 2012-11-14 10:12 践道者 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 在查看谷歌API类时发现这个函数,发现有问题,先上原函数: 1 def ValidateTypes(vars_tpl): 2 """Checks that each variable in a set of variables is the correct type. 3 4 Args: 5 vars_tpl: A tuple containing a set of variables to check. 6 7 Raises: 8 ValidationError: The given object was not one of the given accept. 阅读全文
posted @ 2012-11-13 17:59 践道者 阅读(2055) 评论(0) 推荐(0) 编辑
摘要: class TestStrRepr(object): def __str__(self): return "good, this is TestStr" #必须返回字符串 print TestStr() #good, this is TestStr可以认为__str__的目的是为print 这样的打印函数调用而设计的,当print 一个对象时,会自动调用其__str__方法而repr 函数则是将对象转换为字符串显示a = "hello"repr(a) # "'hello'"repr([1,2,3]) #'[1, 阅读全文
posted @ 2012-11-12 16:07 践道者 阅读(826) 评论(0) 推荐(0) 编辑
摘要: PI = 3.14 class Circ(object): def __init__(self): pass def __call__(self, r): return r * r * PI c = Circ() print c(2) #12.56 把对象当作函数来用,相当于重载括号运算符 阅读全文
posted @ 2012-11-12 14:39 践道者 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 针对谷歌API开发相应SEM工具过程中adwords API python版本的这句话,觉得好奇,研究了一下,由于sys.path是全局搜索路列表list,list具有insert方法,原型是insert(i, x)i表示位置x表示数据意思是把数据x插入到位置i中os.path.join('..', '..', '..', '..') 等于 http://www.cnblogs.com/http://www.cnblogs.com/../即把http://www.cnblogs.com/http://www.cnblogs.com 阅读全文
posted @ 2012-11-12 10:26 践道者 阅读(10615) 评论(1) 推荐(0) 编辑
摘要: 很简单,第一个参数接收一个函数名,第二个参数接收一个可迭代对象 ls = [1,2,3] rs = map(str, ls) #打印结果 ['1', '2', '3'] lt = [1, 2, 3, 4, 5, 6] def add(num): return num + 1 rs = map(add, lt) print rs #[2,3,4,5,6,7] 阅读全文
posted @ 2012-10-29 14:27 践道者 阅读(61689) 评论(1) 推荐(2) 编辑
摘要: 原来是java的特性“注解(Annotation)”注解(Annotation) 为我们在代码中天界信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据)注解的语法比较简单,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种注解,定义在java.lang包中。 @Override表示当前方法是覆盖父类的方法。 @Deprecated表示当前元素是不赞成使用的。 @SuppressWarnings表示关闭一些不当的编译器警告信息。 阅读全文
posted @ 2012-10-26 10:12 践道者 阅读(4001) 评论(0) 推荐(0) 编辑
摘要: 学习了数据结构里的矩阵后,得知原来所谓压缩存储是指为多个值相同的元素只分配一个存储空间,对于零元素不分配存储空间。所以说文本是最容易压缩的,比喻一本小说,里面的字肯定非常多相同的,就算是一段话,也有不少相同的字,相同的字只分配一个存储空间,就可以做到数据压缩了。如果是岂不是压缩率更高?因为只才二十六个字母,记录每个字母的位置也要花费空间,再加上字母出现的数量等等,所占用的空间也不少,再加上还涉及到字符编码的问题,但比起中文来说肯定少很多吧! 阅读全文
posted @ 2012-10-16 16:57 践道者 阅读(231) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10