MongoDB是基于文档、schema-free的、开源的数据库,可以操作JSON格式的数据和CouchDB类似。
从http://www.mongodb.org/display/DOCS/Downloads
下载MongoDB
解压 mongodb-linux-i686-1.2.4.tgz
tar xvf mongodb-linux-i686-1.2.4.tgz
mv mongodb-linux-i686-1.2.4 mongodb
创建一个目录来保存数据
cd mongodb
mkdir -p data/db
运行mongodb
bin/mongod -dbpath data/db
打开mongo的shell实验一下:
fuliang@fuliang-laptop ~/mongodb $ bin/mongo
MongoDB shell version: 1.2.4
url: test
connecting to: test
type "help" for help
> use mydb
switched to db mydb
> j = { name: "mongo"}
{ "name" : "mongo" }
> t = { x : 3 }
{ "x" : 3 }
> db.things.save(j);
> db.things.save(t);
> db.things.find();
{ "_id" : ObjectId("4b8e7da14290b1eee23e62f6"), "name" : "mongo" }
{ "_id" : ObjectId("4b8e7da94290b1eee23e62f7"), "x" : 3 }
> exit
bye
安装ruby gem:
sudo gem install mongo
sudo gem install mongo_ex
安装mongo_ex可以提高性能。
使用ruby
尝试一下mongodb的一些功能
require 'rubygems' # not necessary for Ruby 1.9
require 'mongo'
#make a connection
db = Mongo::Connection.new.db("mydb")
#db = Mongo::Connection.new("localhost").db("mydb")
#db = Mongo::Connection.new("localhost", 27017).db("mydb")
#list all database
m = Mongo::Connection.new # (optional host/port args)
m.database_names.each { |name| puts name }
m.database_info.each { |info| puts info.inspect}
#drop database
m.drop_database('things')
#look at collections
db.collection_names.each { |name| puts name }
coll = db.collection("testCollection")
#insert a document
doc = {"name" => "MongoDB", "type" => "database", "count" => 1,
"info" => {"x" => 203, "y" => '102'}}
coll.insert(doc)
#find the first document
my_doc = coll.find_one()
p my_doc
#insert multiple documents
100.times { |i| coll.insert("i" => i) }
#count documents in a collection
puts coll.count()
#use cursor to get all document
coll.find().each { |row| p row }
#find documents with a query
coll.find("i" => 71).each { |row| p row }
coll.find("i" => {"$gt" => 50}).each { |row| p row }
coll.find("i" => {"$gt" => 20, "$lte" => 30}).each { |row| p row }
#query with regex
coll.find({"name" => /*.ongo.*/})
#create a index
coll.create_index("i")
# explicit "ascending"
coll.create_index([["i", ASCENDING]])
相关资源:
MongoDB的官方主页: http://www.mongodb.org/display/DOCS/Home
MongoDB的一个指南: http://www.mongodb.org/display/DOCS/Ruby+Tutorial
MongoDB的一个幻灯片: http://www.fuchaoqun.com/2010/01/mongodb-in-action/
MongoMapper的git官网: . http://github.com/jnunemaker/mongomapper
MongoMapper的一个例子: http://railstips.org/blog/archives/2009/06/27/mongomapper-the-rad-mongo-wrapper/
分享到:
相关推荐
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
Ruby对MongoDB数据库的操作指南,用于Web开发,前端开发有用
15111.2.4 评论树 15211.2.5 投票 15311.3 自定义提交表单:Ruby 15411.3.1 安装Ruby驱动 15411.3.2 使用Ruby驱动 15511.3.3 自定义表单提交 15511.3.4 Ruby的对象映射和在Rails中使用MongoDB 15711.4...
MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。 你可以通过本地或者网络创建数据...
本书共分三部分,首先介绍mongodb 的历史、特性和使用场景,然后细致阐述mongodb api,专注于应用程序开发渐近式描述电子商务应用的模式与操作,并最后从dba 的角度考量性能和运维。另外,书中还介绍了面向文档...
82.4 启动MongoDB 92.5 MongoDB Shell 102.5.1 运行shell 102.5.2 MongoDB 客户端 112.5.3 shell 中的基本操作 112.5.4 使用shell 的窍门 132.6 数据类型 152.6.1 基本数据类型 152.6.2 数字 172....
MongoDB Ruby驱动程序 官方支持的用于Ruby驱动程序。 Ruby驱动程序支持Ruby 2.3-2.7和JRuby 9.2。 文献资料 高级文档和用法示例位于。 最新版本的API文档可在找到。 要为master分支构建API文档,请在本地检出存储...
本例是本人参考网上资料自行编写的,希望对感兴趣的朋友有所帮助(里面有mongodb的启动说明与shell命令操作说明)! MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据...
执行基本的写入操作,构建各种复杂的查询,任何条件下都能查出数据。使用索引、聚合工具,以及其他高级查询技巧。了解监控、安全和认证、备份和修复等内容。建立主从集群和自动故障恢复复制。利用分片水平扩展...
boot2docker-mongodb 在 OS X 上使用启动 MongoDB 分片集群的 Bash 脚本(通过 )。 它使用 IP 地址进行容器通信。 灵感来自 Alex Komyagin 的 docker 。 使用官方。 当前设置: 2个副本集(3个数据注释) 3个配置...
紧缩Crunch 是一个替代的 MongoDB 驱动程序,强调高并发、原子更新操作和文档完整性。 它使用 EventMachine 进行非阻塞写入和读取,并具有同步回退功能,以便与非事件应用程序轻松集成。 它的 API 比官方 MongoDB ...
前端技术: ... CSS :用于设计网页外观和样式的样式表语言。 JavaScript:用于在网页上实现交互性和动态效果的脚本语言。...Ruby on Rails:一个基于Ruby编程语言的Web应用框架,提供了高效的开发工具。
我们喜欢它为我们提供的灵活性,因为它随着我们的成长和学习而改变数据模式,我们也喜欢它的操作属性。 我们喜欢复制品。 我们喜欢不需要生成和解析字符串,跟踪占位符参数或任何废话的统一查询语言。 关键是,...
找出MongoDB的慢速操作并分析查询原型将很有帮助。 用法与in_tail几乎相同。 安装 $ fluent-gem install fluent-plugin-mongo-slow-query 配置 type mongo_slow_query path /path/to/mongodb/logfile 描述 主机...
使用最新想法更新示例应用程序 支持讨论实施实践 与 Ruby 社区进行对话并了解 DDD 显示设计和实现权衡 向 DDD(通常是 Java 和 .NET)社区教授更多关于 Ruby 的知识 用于受控实验的实验室鼠标 学习 Ruby 作为一种...
这个C#实现的小游戏是一个简单的猜数字游戏,让玩家...Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
5.3.1 使用MongoDB、HBase和Redis更新及修改数据 98 5.3.2 有限原子性和事务完整性 99 5.4 小结 100 第6章 查询NoSQL存储 101 6.1 SQL与MongoDB查询功能的相似点 101 6.1.1 加载MovieLens数据 103 6.1.2 ...
流浪者-mongodb 该项目的目标是简化用于测试和开发的 MongoDB 实例的创建。 它目前依赖于 [Amazon EC2] ( ),但由于它基于支持各种后端的 ... 它默认执行以下操作: 从 Amazon 发布的标准 AMI 启动一个新的m1.medi
了解常见的关系型数据库(如MySQL、PostgreSQL、SQLite)和非关系型数据库(如MongoDB、Redis)的基本原理和使用方法。学习使用ORM(对象关系映射)工具简化数据库操作。 4. 学习API设计 学习如何
在本地下载和存储Geonames.org数据(MongoDB,Mongoid)。 使您的服务器上的每一个Geoname API操作成为可能。 没有命中限制,请尽快。 下载所有国家/地区数据 将ZIP合并到城市中,因此您需要戴口罩 使用地理名称ID...