`

MongoMapper的复杂查询 参考文档

阅读更多
在使用mongoMapper的时候,会用到一些比较复杂的查询,往往这个时候去看MongoMapper的文档发现并没有这些API的介绍。只是能发现很多人在用,比如
$where
conditions.merge!( :conditions => {'$where' => "/#{options[:searchterm].strip.gsub(/\//, '\/')}/i.test( this.name + ' ' + this.urls.join(' ') )" } )


当然,你不能企图找join什么的方法,原因我就不说了。


实际上,很多复杂的MongoMapper查询没有文档是因为,我们完全可以参考MongoDB的文档来解决。如下是MongoDB的高级查询的文档,相当完善

http://www.mongodb.org/display/DOCS/Advanced+Queries

如下是关于$where使用的介绍

引用
Javascript Expressions and $where
In addition to the structured query syntax shown so far, you may specify query expressions as Javascript. To do so, pass a string containing a Javascript expression to find(), or assign such a string to the query object member $where. The database will evaluate this expression for each object scanned. When the result is true, the object is returned in the query results.

For example, the following statements all do the same thing:


db.myCollection.find( { a : { $gt: 3 } } );
db.myCollection.find( { $where: "this.a > 3" } );
db.myCollection.find("this.a > 3");
f = function() { return this.a > 3; } db.myCollection.find(f);

引用
Javascript executes more slowly than the native operators listed on this page, but is very flexible. See the server-side processing page for more information.


可见,我们只要稍微的转换格式,就是mongomapper的查询了,所以MongoMapper比起ActiveRecord没有特别多API文档
0
0
分享到:
评论
2 楼 夜鸣猪 2010-08-13  
我们还没有升到rails 3
1 楼 doabit 2010-08-12  
你好,不知道你用mm时,能不能和RAILS3很好地结合,我本来也用了mm,不过在rails3 下有问题,后来换了mongoid

相关推荐

    Ruby-MongoMapper针对Mongo的一个Ruby对象映射器

    7. **嵌入式文档**:MongoMapper支持嵌入式文档(Embedded Documents),这是一种优化数据模型和减少查询的方法。例如,一个用户可以拥有嵌入的地址信息: ```ruby class Address include MongoMapper::...

    mongomapper:Mongo的Ruby对象映射器

    MongoMapper Mongo的Ruby对象映射器。 安装 $ gem install mongo_mapper 文献资料 兼容性 MongoMapper已针对以下方面进行了测试: MRI 2.4-2.7 JRuby(具有1.9兼容性的版本) 此外,MongoMapper还针对以下方面...

    mongoclient-mongomapper-logging

    学习如何配置 Mongo::MongoClient 和 MongoMapper 的日志记录01mongo.rb(使用 Mongo::MongoClient 进行完整日志记录) 02mongo.rb(将日志级别切换到 :info) 03mongo.rb(禁止日志记录) 04mongomapper.rb(为 ...

    taggregator:适用于MongoMapper的上下文插件中的可标记

    将上下文中的标签(以及这些标签的聚合)添加到您的MongoMapper模型中。 标签权重和分配方法使在数据存储中轻松找到实时分类热点。 Taggregator使用MongoDB的增量/减量( $inc / $dec )使用可选类型在上下文中保持...

    joint:[DEAD AND UNMAINTAINED] MongoMapper 和 GridFS 加入文件上传大爱

    死了,没有维护 联合 MongoMapper 和 GridFS 加入了文件上传的大爱。用法 声明插件,使用attachment方法制作附件。 class Foo include MongoMapper :: Document plugin Joint attachment :image attachment :pdfend...

    mongrations:MongoMapper 的迁移

    此版本不再维护。 请查看以获取维护版本。 会众 Mongrations 旨在类似于 ActiveRecord 的数据迁移,除了不必担心架构更改,而是提供一种在必要时更改数据的方法。 示例:您在运行应用程序几周后决定添加时间戳,并...

    MongoDB and Ruby

    2. **选择ODM(对象文档映射)库**:Ruby社区提供了多种ODM库来帮助开发人员更方便地使用MongoDB,例如MongoMapper、Mongoid等。 3. **建立连接**:使用Ruby驱动程序连接MongoDB数据库。 4. **CRUD操作**:通过Ruby...

    Ruby and MongoDB Web Development

    书中会介绍如何在Ruby中构造复杂查询,并利用聚合框架进行数据处理和分析。 5. **数据安全**:讲解身份验证、授权和SSL连接,确保MongoDB数据库的安全性。 6. **性能优化**:讨论索引创建、查询优化、存储引擎选择...

    harmonyos2-cornerstone:更快上手!带有Rails3、MongoMapper(在MongoHQ上)、ENV-awareCM

    MongoMapper(开启或关闭 MongoHQ) 设计 发送网格 充电 Sass(通过指南针) 摩卡 工厂女工 环境感知配置管理 大多数配置在 config/harmony.yml 您需要在 MongoHQ.com 上创建一个免费帐户,在 SendGrid.com 上创建一...

    ruby on rails对mongodb的操作

    对于更复杂的查询,可以使用链式查询和聚合操作,这在MongoDB中非常强大,因为它支持灵活的数据结构。 在Rails应用中,我们还可以使用`form_for`和其他Rails助手来处理表单提交,以及`render`和`redirect_to`来管理...

    mm-commentable:mongo_mapper 评论插件

    v1.2 是 mongomapper 0.9.0 更新以支持新的插件系统 如果您使用的是 mongomapper 0.8.x 请使用 gem 1.1 版 用法 安装宝石 gem install mm - commentable 或者将它添加到你的 Gemfile gem 'mm-commentable' 然后将...

    mongodb_examples:在 MongoHQ 上运行的 Mongo Ruby Driver、Mongoid 和 MongoMapper 示例

    关于 在本地MongoDB或上运行的 , 和。 在。 安装 安装和 brew install mongo mongo > use test > db.addUser('test', 'test') ...export MONGOHQ_URL="mongodb://test:test@localhost:27017/test" ...

    Ruby on Rails框架程序连接MongoDB的教程

    接下来,执行查询以查看`Project`集合中的所有文档: ```bash db.projects.find() ``` 至此,你已经成功地在Rails应用中配置并使用了MongoMapper连接MongoDB。在实际开发中,你可能需要根据项目需求扩展模型,添加...

    Mongo的Ruby对象映射器-Ruby开发

    安装¶↑$ gem install mongo_mapper文档兼容性)此外,还对MongoMapper进行了测试:Rails 3.2.x Rails 4.0.x Contributing&Development¶↑$ git clone https://github.com/mongomapper/mongomapper && cd ...

    kaminari::high_voltage:基于Ruby的Web应用程序基于范围和引擎的,干净,强大,可自定义和复杂的分页器

    基于范围和引擎的,干净,功能强大,可自定义和复杂的分页器,适用于现代Web应用程序框架和ORM 产品特点 清洁 不全局污染Array , Hash , Object或AR::Base 。 易于使用 只需捆绑宝石,即可对模型进行分页。 无需...

    轻松跟踪模型的活动-类似于Github的Public Activity-Ruby开发

    PublicActivity public_activity在Rails 3.0-5.0中为ActiveRecord,Mongoid 3和MongoMapper模型提供轻松的活动跟踪。 简而言之:它记录了已更改或创建的内容,并使您能够执行PublicActivity public_activity为Rails ...

    Rails项目的代码度量工具-Ruby开发

    它支持以下ORM / ODM:activerecord mongoid mongomapper和以下模板引擎:rails_best_practices rails_best_practices是用于检查Rails代码质量的代码度量工具。 它支持以下ORM / ODM:activerecord mongoid ...

    潜望镜:将模型的瞄准镜向上推到表面

    MongoMapper( ) 蒙古人() DataMapper( ) 只需将宝石添加到您的捆绑包中,您就可以出发了! 问题 通常,期望RESTful Rails控制器中的index操作比简单地返回给定模型的所有记录有更多的作用。 我们要求它...

    amistad:将友谊管理添加到Rails应用程序中

    它支持ActiveRecord,Mongoid和MongoMapper。安装在您的Gemfile中添加以下行: gem 'amistad'然后运行: bundle install用法请参阅以获取用法和友谊管理文档。测验有可用的rake任务,使您可以为三个rdbms运行...

    audited:已审核(以前称为act_as_audited)是一个ORM扩展,可将所有更改记录到您的Rails模型中

    已审核 审核(以前称为act_as_audited)是一个ORM扩展,用于记录对模型的所有更改。... 在以前的生活中,Audited与MongoMapper一起工作。 如果需要MongoMapper,请使用。安装将宝石添加到您的Gemfile中: gem "au

Global site tag (gtag.js) - Google Analytics