rails 4.0.2 + mongoid 对mongodb进行增删改查
新建项目
rails new mongoid_app --skip-active-record --skip-test-unit --skip-bundle
create
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/assets/javascripts/application.js
create app/assets/stylesheets/application.css
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/views/layouts/application.html.erb
create app/assets/images/.keep
create app/mailers/.keep
create app/models/.keep
create app/controllers/concerns/.keep
create app/models/concerns/.keep
create bin
create bin/bundle
create bin/rails
create bin/rake
create config
create config/routes.rb
create config/application.rb
create config/environment.rb
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create config/initializers
create config/initializers/backtrace_silencers.rb
create config/initializers/filter_parameter_logging.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/secret_token.rb
create config/initializers/session_store.rb
create config/initializers/wrap_parameters.rb
create config/locales
create config/locales/en.yml
create config/boot.rb
create db
create db/seeds.rb
create lib
create lib/tasks
create lib/tasks/.keep
create lib/assets
create lib/assets/.keep
create log
create log/.keep
create public
create public/.html
create public/.html
create public/.html
create public/favicon.ico
create public/robots.txt
create tmp/cache
create tmp/cache/assets
create vendor/assets/javascripts
create vendor/assets/javascripts/.keep
create vendor/assets/stylesheets
create vendor/assets/stylesheets/.keep
修改Gemfile
source 'https://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.2'
gem 'bson_ext'
gem 'mongo'
gem 'mongoid', github: 'mongoid/mongoid' # Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
group :doc do
gem 'sdoc', require: false
end
运行bundle install
bundle install
Updating git://github.com/mongoid/mongoid.git
Fetching gem metadata from https://rubygems.org/...........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.1.)
Using i18n (0.6.)
Using minitest (4.7.)
Using multi_json (1.8.)
Using atomic (1.1.)
Using thread_safe (0.1.)
Using tzinfo (0.3.)
Using activesupport (4.0.)
Using builder (3.1.)
Using erubis (2.7.)
Using rack (1.5.)
Using rack-test (0.6.)
Using actionpack (4.0.)
Using mime-types (1.25.)
Using polyglot (0.3.)
Using treetop (1.4.)
Using mail (2.5.)
Using actionmailer (4.0.)
Using activemodel (4.0.)
Using activerecord-deprecated_finders (1.0.)
Using arel (4.0.)
Using activerecord (4.0.)
Using bson (2.0.)
Using bson_ext (1.5.)
Using bundler (1.5.)
Using coffee-script-source (1.6.)
Using execjs (2.0.)
Using coffee-script (2.2.)
Using thor (0.18.)
Using railties (4.0.)
Using coffee-rails (4.0.)
Using connection_pool (1.2.)
Using hike (1.2.)
Using jbuilder (1.5.)
Using jquery-rails (3.0.)
Using json (1.8.)
Using mongo (1.3.)
Using optionable (0.2.)
Using moped (2.0..beta4)
Using origin (2.0.)
Using mongoid (4.0..alpha1) from git://github.com/mongoid/mongoid.git (at master)
Using tilt (1.4.)
Using sprockets (2.10.)
Using sprockets-rails (2.0.)
Using rails (4.0.)
Using rdoc (3.12.)
Using sass (3.2.)
Using sass-rails (4.0.)
Using sdoc (0.3.)
Using turbolinks (2.1.)
Using uglifier (2.4.)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
生成mongoid数据库配置文件
rails generate mongoid:config
create config/mongoid.yml
在这里不对mongoid.yml进行任何更改(假设已安装MongoDB并以默认设置启动),顺便贴一下生成的mongoid.yml 的文件内容
development:
# Configure available database sessions. (required)
sessions:
# Defines the default session. (required)
default:
# Defines the name of the default database that Mongoid can connect to.
# (required).
database: mongoid_app_development
# Provides the hosts the default session can connect to. Must be an array
# of host:port pairs. (required)
hosts:
- localhost:
options:
# Change the default write concern. (default = { w: })
# write:
# w: # Change the default consistency model to primary, secondary.
# 'secondary' will send reads to secondaries, 'primary' sends everything
# to master. (default: primary)
# read: secondary_preferred # How many times Moped should attempt to retry an operation after
# failure. (default: )
# max_retries: # The time in seconds that Moped should wait before retrying an
# operation on failure. (default: )
# retry_interval:
# Configure Mongoid specific options. (optional)
options:
# Enable the identity map, needed for eager loading. (default: false)
# identity_map_enabled: false # Includes the root model name in json serialization. (default: false)
# include_root_in_json: false # Include the _type field in serializaion. (default: false)
# include_type_for_serialization: false # Preload all models in development, needed when models use
# inheritance. (default: false)
# preload_models: false # Protect id and type from mass assignment. (default: true)
# protect_sensitive_fields: true # Raise an error when performing a #find and the document is not found.
# (default: true)
# raise_not_found_error: true # Raise an error when defining a scope with the same name as an
# existing method. (default: false)
# scope_overwrite_exception: false # Use Active Support's time zone in conversions. (default: true)
# use_activesupport_time_zone: true # Ensure all times are UTC in the app side. (default: false)
# use_utc: false
test:
sessions:
default:
database: mongoid_app_test
hosts:
- localhost:
options:
read: primary
# In the test environment we lower the retries and retry interval to
# low amounts for fast failures.
max_retries:
retry_interval:
使用scaffold脚手架生成测试程序
rails generate scaffold User name:string email:string
invoke mongoid
create app/models/user.rb
invoke resource_route
route resources :users
invoke scaffold_controller
create app/controllers/users_controller.rb
invoke erb
create app/views/users
create app/views/users/index.html.erb
create app/views/users/edit.html.erb
create app/views/users/show.html.erb
create app/views/users/new.html.erb
create app/views/users/_form.html.erb
invoke helper
create app/helpers/users_helper.rb
invoke jbuilder
create app/views/users/index.json.jbuilder
create app/views/users/show.json.jbuilder
invoke assets
invoke coffee
create app/assets/javascripts/users.js.coffee
invoke scss
create app/assets/stylesheets/users.css.scss
invoke scss
create app/assets/stylesheets/scaffolds.css.scss
顺便也贴一下生成的model文件 user.rb
class User
include Mongoid::Document
field :name, type: String
field :email, type: String
end
rails server
=> Booting WEBrick
=> Rails 4.0. application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[-- ::] INFO WEBrick 1.3.
[-- ::] INFO ruby 2.0. (--) [x86_64-linux]
[-- ::] INFO WEBrick::HTTPServer#start: pid= port=
访问地址http://localhost:3000/users 并添加一条数据
运行mongo查看数据是否添加成功
mongo
MongoDB shell version: 2.4.
connecting to: test
> show dbs
mongoid_app_development .203125GB
test (empty)
> use mongoid_app_development
switched to db mongoid_app_development
> show collections
system.indexes
users
> db.users.find()
{ "_id" : ObjectId("52c1330a75627524e2000000"), "name" : "grj", "email" : "grj@example.com" }
> exit
bye
下载: mongoid_app.rar
rails 4.0.2 + mongoid 对mongodb进行增删改查的更多相关文章
- Java连接MongoDB进行增删改查
1.导入必须的包: 详情看项目:http://pan.baidu.com/s/1cvDAOY 2.通过Myeclipse创建WEB项目 3. 3.bean:创建实体类 package com.bean ...
- Java实现mongodb原生增删改查语句
Java实现mongodb原生增删改查语句 2018-03-16 自动化测试时,需校验数据库数据,为了快速自动化,在代码中用原生增删改查语句操作mongodb 结构 代码 0 pom.xml < ...
- Scala对MongoDB的增删改查操作
=========================================== 原文链接: Scala对MongoDB的增删改查操作 转载请注明出处! ==================== ...
- C# 对MongoDB 进行增删改查的简单操作
C# 对MongoDB 进行增删改查的简单操作 下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 1,连接数据库 /// & ...
- python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查
python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...
- python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)
一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...
- 2,MongoDB之增删改查及pymongo的使用
本章我们来学习一下关于 MongoDB的增删改查 一.MongoDB操作 之 原生ORM,根本不存在SQL语句 创建数据库:这里和一般的关系型数据库一样,都要先建立一个自己的数据库空间 是的,Mong ...
- MongoDB的增删改查 转
MongoDB的增删改查 (黎明你好原创作品,转载请注明) MongoDB中数据的基本单元叫做文档,采用json的键-值的方式.多个键及其关联的值有序的存放在一起变是文档.类似于编程语言中的键值关系. ...
- SpringBoot操作MongoDB实现增删改查
本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...
随机推荐
- CSS背景图拉伸自适应尺寸
.bg{ background:url(images/test.jpg); filter:"progid:DXImageTransform.Microsoft.AlphaImageLoade ...
- SQL Server Insert操作中的锁
原文:SQL Server Insert操作中的锁 这篇博文简单介绍一下在SQL Server中一条Insert语句中用到的锁. 准备数据 首先我们建立一张表Table_1,它有两列Id(bigint ...
- VS2010 TFS
在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的. 作为一名软件开发者,在我的职业生涯中,我常常会用 ...
- linux查看CPU和内存信息
一 先来看看ps命令: 1.查看当前某个时间点的进程:ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死. 哪些进程占用了 ...
- error C2504: “CActiveXDocControl”: 基类没有定义
这样的错误,通常,第一个文件失败: 1.相互头包括 2.头文件秩序 此错误是编译错误,和"inclued头文件"有关 问题描写叙述 有三个头文件AgentSDK.h.AA.h.BB ...
- ASM时的OFM特性对影的建数据文件名称的影响及为SYSTEM表空间的数据文件使用别名
客户遇到个DG的问题,存储使用的ASM管理,有多个磁盘盘. 在主库创建数据文件,备库自己主动创建的数据文件都在同一磁盘组,而且在主库创建数据文件是指定的是类似**.DBF的名字,到备库也变成了使用AS ...
- swift 学习资源 大集合
今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...
- top 查看资源使用
top:动态观察程序的变化 ? [root@linux ~]# top [-d] | top [-bnp] 参数: -d :后面可以接秒数,就是整个程序画面更新的秒数.预设是 5 秒: -b :以批次 ...
- Objective-C代码块语法(block)使用
和其它变量本质上相似的代码块.所不同的是,数据存储代码块是主体的函数. 使用的代码块被,你可以像打电话一样等标准功能,传入参数的数量,并获得返回值. 插入符号(^)语法标记块.我们熟悉的参数按照规约定 ...
- DV工作流