zoukankan      html  css  js  c++  java
  • MongoDB 指定应用上下文数据模型

    Model Data for Atomic Operations

    Pattern

    In mongoDB, write operations, eg. db.collection.update(), db.collection.findAndModify(), db.collection.remove(), are atomic on the level of a single document. For fields the must be updated together, embedding the fields within the same document ensures that the fields can be update atomically.

    For example, consider the situation where you need to maintain the book information, including the number of copies available for checkout as well as the checkout information.

    The available copies of the book and the checkout information should be in sync. As such, embedding the available field and checkout field within the same document ensures that the two field atomically.

    Then to update with new checkout information, you can use the db.collection.update() method to atomically update both the available field and the checkout field.

    Model Data to Support Keyword Search

    This pattern describes one method for supporting keyword search using MongoDB to support application search functionality, that use keywords stored in an array in the same document as the text field. Combined with a multi-key index, this pattern can support application’s keyword search operations.

    Given a collection of library volumes that you want to provide topic-based search. For each volume, you add the array topics, and you add as many  keywords as needed for a given volume.

    For the Moby-Dick volume:

    You then can create a multi-key index on the topics array:

    The multi-key index create separate index entry for each keyword in the topic array. For example, the index contain one entry for whaling and another for allegory:

     

    Model Monetary Data

    ……

    Model Time Data

    Overview

    MongoDB stores time in UTC by default, and will convert any local time representations into this form. Application that must operate or report on some unmodified local time value may store the time zone alongside the UTC timestamp, and compute the original local time in their application logic.

    Example

    Storing the current date and the current offset from UTC:

    Reconstruct the original local time by applying the saved offset:

  • 相关阅读:
    Rails中使用图表(ChartJs)显示数据
    Ubuntu下sublime无法输入中文问题完美解决
    ruby--$:.unshift File.expand_path('..', __FILE__)(转载)
    消息闪现
    Rails中编写自己的任务
    Rails定时任务
    rails中设置配置信息 读取配置信息
    在lib下编写的自己的类需要用到model内相关方法
    rails_ajax 验证验证码
    rails添加验证码
  • 原文地址:https://www.cnblogs.com/hotbaby/p/4870953.html
Copyright © 2011-2022 走看看