91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDBRuby中如何嵌入Javascript

發布時間:2021-07-19 11:22:18 來源:億速云 閱讀:128 作者:Leah 欄目:數據庫

這篇文章將為大家詳細講解有關MongoDBRuby中如何嵌入Javascript,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

  MongoDBRuby中怎樣嵌入Javascript

  class Publication

  include Mongoid::Document

  field :name, :type => String

  field :section, :type => String

  field :body, :type => String

  field :is_published, :type => Boolean

  end

  class LongerPublication

  field :extra_body, :type => String

  end

  此時系統中已經存在一個Publication類和一個LongerPublication類。現在需要做一些信息匯總方面的工作,想通過Publication類對象的類型與狀態得到對其的數量統計信息。另外最好能夠按照當前的狀態進行具有針對性的統計分析。

  一種方法是使用Mongo內置的map-reduce。Mongoid擴展了該功能,讓程序員可以使用Ruby程序實現其所需的內聯Javascript函數(mapper和reducer)。讀者可能覺得這種方法并不好,不過似乎這是目前最好的方法了。有很多更復雜的函數將這些Javascript函數分別寫到不同的文件中,這樣做也許更便于測試,但讀者如果自行測試整個工作中這項工作的輸入/輸出,就會發現其性能并不好。

  MongoDBRuby中怎樣嵌入Javascript

  KLASS ="this._type"

  SECTION ="this.section"

  def self.count_by(type)

  map = <   function() {   function truthy(value) {   return (value ==true) ?1 :0;   }   emit(#{type}, {type: #{type}, count:1, published: truthy(this.is_published)})   }   EOF   reduce = <   function(key, values) {   var count =0; published =0;   values.forEach(function(doc) {   count += parseInt(doc.count);   published += parseInt(doc.published);   type = doc.type   };   return {type: type, count: count, published: published}   }   EOF   collection.mapreduce(map, reduce).find()   end   在進行實驗測試時會返回類似如下代碼所示的數據;不過有些讀者在實驗時也有可能返回Mongo::Cursor,通過Mongo::Cursor可以獲取到以下數據。   [{"_id"=>"Publication","value"=>{"type"=>"Publication","count"=>42.0,"published"=>29.0}},

  {"_id"=>"LongerPublication", "value"=>{"type"=>"LongerPublication", "count"=>12.0, "published"=>10.0}}]

  Mongo與Mongoid使我非常喜歡這種信息匯總時的mapreduce工作,特別是將Ruby與Javascript這兩種編程語言混合在一起編寫,并沒有影響到代碼的可讀性。而如果給定一個關系數據庫,用戶有可能寫出各種各樣千奇百怪的SQL語句——因為與其他任意語言和SQL之間的語法差異相比,Javascript和Ruby之間的語法差異都要小得多。

關于MongoDBRuby中如何嵌入Javascript就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀宁县| 科技| 富川| 石狮市| 永吉县| 娄烦县| 甘孜县| 彰化县| 衡南县| 紫云| 竹山县| 长葛市| 乌恰县| 天门市| 古蔺县| 东明县| 确山县| 石楼县| 蒙阴县| 峡江县| 随州市| 无极县| 天水市| 两当县| 壶关县| 乌恰县| 广饶县| 吴桥县| 遂宁市| 玉环县| 卓资县| 县级市| 枞阳县| 昭苏县| 杭州市| 定日县| 嵊州市| 龙陵县| 宝山区| 玛沁县| 文化|