每日学习笔记(12)
2010-12-28 00:44
435 查看
一,源码编译openfetion0,将所需的依赖库都安装好1,安装CMake,版本2.8以上2,在openfetion目录下建立一个build目录3,cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=debug4,进入build目录中进行编译:make 安装:make install5,安装完成后若出现openfetion: error while loading shared libraries: libofetion.so.0: cannot open shared object file: No such file or directory请在终端中运行ldconfig 二,mongodb快速入门
1,创建数据库存储目录/data/db2,进入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连接创建一个线程,因此极力推荐在应用程序中使用某种形式的连接池。
1,创建数据库存储目录/data/db2,进入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连接创建一个线程,因此极力推荐在应用程序中使用某种形式的连接池。
相关文章推荐
- 每日学习笔记(12)
- 每日学习笔记(12)
- [置顶] JavaSE学习笔记_12:Java集合框架
- Java学习笔记12——并发
- 每日学习笔记(20)
- Spark学习笔记(12)源码解读之Executor容错安全性
- C语言学习笔记 lesson12 循环
- PHP学习笔记 12 - 表单
- 09 12 15 JavaWeb 学习笔记
- 英语学习笔记每日更新--8-14
- 大数据学习笔记-------------------(12_2)
- Java学习笔记12
- STL学习笔记----12.STL算法之 (移除性算法)
- java学习笔记12--异常处理
- 台湾大学林轩田机器学习技法课程学习笔记12 -- Neural Network
- Sharepoint学习笔记—ECMAScript对象模型系列-- 12、通过邮件发送带有Unique DocumentID的文档链接
- 【算法学习笔记】12.数据结构基础 图的初步1
- Unity Shader 学习笔记(12) 渲染路径(Rendering Path)
- 学习笔记12 ORA-00904 plsql无效标识符 却明明有的字段
- Linux 学习笔记_12_文件共享服务_4_SSH