您的位置:首页 > 其它

每日学习笔记(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连接创建一个线程,因此极力推荐在应用程序中使用某种形式的连接池。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: