MongoDB Documentation, Release 3.0.4 Note: An array with a large number of elements, such as one with several hundreds or thousands of keywords will incur greater indexing costs on insertion. MongoDB can support keyword searches using specific data models and multi-key indexes (page 491); however, these keyword indexes are not sufficient or comparable to full-text products in the following respects: MongoDB stores numeric data as either IEEE 754 standard 64-bit floating point numbers or as 32-bit or 64-bit signed integers. Applications that handle monetary data often require capturing fractional units of currency. However, arith- metic on floating point numbers, as implemented in modern hardware, often does not conform to requirements for monetary arithmetic. In addition, some fractional numeric quantities, such as one third and one tenth, have no exact representation in binary floating point numbers. Note: Arithmetic mentioned on this page refers to server-side arithmetic performed by mongod or mongos , and not to client-side arithmetic. This document describes two ways to model monetary data in MongoDB: If you regularly need to perform server-side arithmetic on monetary data, the exact precision model may be appropriate. For instance: Chapter 4. Data Models 166 • If you need to query the database for exact, mathematically valid matches, use Exact Precision (page 167). • If you need to be able to do server-side arithmetic, e.g., $inc , $mul , and aggregation framework arithmetic , use Exact Precision (page 167). • Arbitrary Precision (page 167) which uses two fields for the value: one field to store the exact monetary value as a non-numeric and another field to store a floating point approximation of the value. • Exact Precision (page 167) which multiplies the monetary value by a power of 10. Use Cases for Exact Precision Model Overview Model Monetary Data Limitations of Keyword Indexes • Stemming . Keyword queries in MongoDB can not parse keywords for root or related words. • Synonyms . Keyword-based search features must provide support for synonym or related queries in the applica- tion layer. • Ranking . The keyword look ups described in this document do not provide a way to weight results. • Asynchronous Indexing . MongoDB builds indexes synchronously, which means that the indexes used for key- word indexes are always current and can operate in real-time. However, asynchronous bulk indexes may be more efficient for some kinds of content and workloads.