每日学习笔记(12)
2011-07-01 16:35
253 查看
一,源码编译openfetion
0,将所需的依赖库都安装好
1,安装CMake,版本2.8以上
2,在openfetion目录下建立一个build目录
3,cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=debug
4,进入build目录中进行编译:make
安装:make install
5,安装完成后若出现
openfetion: error while loading shared libraries: libofetion.so.0: cannot open shared object file: No such file or directory
请在终端中运行ldconfig
二,mongodb快速入门
1,创建数据库存储目录/data/db
2,进入bin目录下,./mongod启动服务器
3,./mongo启动shell窗口,在这里进行初步学习
4,shell默认是连接到'test'数据库,可以“use mydb"切换到mydb数据库
MongoDb并不会立即为你创建数据库,而是直到第一天数据插入时才创建,这种“延迟创建“的
方式性能比较好。这也意味着如果没有插入数据,则使用"show dbs"是看不到空数据库的。
5,插入数据到集合中
db.foo.save({name:"phinecos"});
db.foo.find();
我们不需要预先定义集合,MongoDB会在第一个数据插入时自动创建,存储的文档可以是任何结构的,这就意味着数据库的升级和迁移很简单了。
上面的find()实际返回一个迭代器,
var cursor = db.foo.find();
while (cursor.hasNext()) printjson(cursor.next());
也可以这样:
db.foo.find().forEach(printjson);
你也可以将迭代器视为一个数组:
printjson(cursor[3]);
或者干脆将其转化为一个数组:
var arr = db.foo.find().toArray();
6,查询
db.foo.find({name:'phinecos'}).forEach(printjson);
可以看出,查询条件本身就是一个文档,形式为{a:A,b:B,...}的查询文档就意味着"where a==A and b==B and ...".这个查询等同于"select * from foo where name='phinecos'"
你也可以要求查询只返回文档部分字段:
db.foo.find({x:4},{j:true}).forEach(printjson);
这样就只会显示j这个字段,它相当于"select j from foo where x=4"
db.foo.findOne({name:'phinecos'});
这样只返回一个文档
可以用limit方法来限制返回的结果数目:
db.foo.find().limit(3);
7,连接字符串
mongodb://phinecos:123@localhost/test
使用用户名phinecos和密码123连接到本地的test,
MongoDB的服务器会为每一个上来的TCP连接创建一个线程,因此极力推荐在应用程序中使用某种形式的连接池。
作者:洞庭散人
出处:http://phinecos.cnblogs.com/
本博客遵从Creative Commons Attribution 3.0 License,若用于非商业目的,您可以自由转载,但请保留原作者信息和文章链接URL。
0,将所需的依赖库都安装好
1,安装CMake,版本2.8以上
2,在openfetion目录下建立一个build目录
3,cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=debug
4,进入build目录中进行编译:make
安装:make install
5,安装完成后若出现
openfetion: error while loading shared libraries: libofetion.so.0: cannot open shared object file: No such file or directory
请在终端中运行ldconfig
二,mongodb快速入门
1,创建数据库存储目录/data/db
2,进入bin目录下,./mongod启动服务器
3,./mongo启动shell窗口,在这里进行初步学习
4,shell默认是连接到'test'数据库,可以“use mydb"切换到mydb数据库
MongoDb并不会立即为你创建数据库,而是直到第一天数据插入时才创建,这种“延迟创建“的
方式性能比较好。这也意味着如果没有插入数据,则使用"show dbs"是看不到空数据库的。
5,插入数据到集合中
db.foo.save({name:"phinecos"});
db.foo.find();
我们不需要预先定义集合,MongoDB会在第一个数据插入时自动创建,存储的文档可以是任何结构的,这就意味着数据库的升级和迁移很简单了。
上面的find()实际返回一个迭代器,
var cursor = db.foo.find();
while (cursor.hasNext()) printjson(cursor.next());
也可以这样:
db.foo.find().forEach(printjson);
你也可以将迭代器视为一个数组:
printjson(cursor[3]);
或者干脆将其转化为一个数组:
var arr = db.foo.find().toArray();
6,查询
db.foo.find({name:'phinecos'}).forEach(printjson);
可以看出,查询条件本身就是一个文档,形式为{a:A,b:B,...}的查询文档就意味着"where a==A and b==B and ...".这个查询等同于"select * from foo where name='phinecos'"
你也可以要求查询只返回文档部分字段:
db.foo.find({x:4},{j:true}).forEach(printjson);
这样就只会显示j这个字段,它相当于"select j from foo where x=4"
db.foo.findOne({name:'phinecos'});
这样只返回一个文档
可以用limit方法来限制返回的结果数目:
db.foo.find().limit(3);
7,连接字符串
mongodb://phinecos:123@localhost/test
使用用户名phinecos和密码123连接到本地的test,
MongoDB的服务器会为每一个上来的TCP连接创建一个线程,因此极力推荐在应用程序中使用某种形式的连接池。
作者:洞庭散人
出处:http://phinecos.cnblogs.com/
本博客遵从Creative Commons Attribution 3.0 License,若用于非商业目的,您可以自由转载,但请保留原作者信息和文章链接URL。
相关文章推荐
- 每日学习笔记(12)
- 每日学习笔记(12)
- 12、sed、awk、数组 学习笔记
- Effective C++ 学习笔记(12)
- UNIX环境高级编程学习笔记:9_12 孤儿进程 孤儿进程组
- Think PHP 学习笔记 12.视图的使用
- java学习笔记12--国际化
- 前端学习笔记-jquery-12-(过滤选择器)过滤器:子元素过滤器
- 大数据学习笔记-------------------(12_1)
- 每日学习笔记(7)
- Nutch 1.3 学习笔记 12 Nutch 2.0 的主要变化
- Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务
- C语言学习笔记(12)
- Linux学习笔记12 chown,chgrp,chown
- Perl语言学习笔记 12 文件测试
- OAF学习笔记-12- 从系统获取ID值,查出Name,在页面显示
- 我的java学习笔记(12)关于反射(part 1)
- MySQL学习笔记12:数据类型
- Linux Kernel 学习笔记12:定时任务
- 【安卓学习笔记】JAVA基础Lesson12-接口