MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 4 as of 2013-11-12 18:40:10
  • MongoDB

MongoDB

Query by data type

Select all documents in the inventory collection where the price field value is a Double.

   1 db.inventory.find( { price: { $type : 1 } } )

Select all documents in the inventory collection where the datex field value is a Date.

   1 db.inventory.find( { datex: { $type : 9 } } )

Data types

Type

Number

Double

1

String

2

Object

3

Array

4

Binary data

5

Undefined (deprecated)

6

Object id

7

Boolean

8

Date

9

Null

10

Regular Expression

11

JavaScript

13

Symbol

14

JavaScript (with scope)

15

32-bit integer

16

Timestamp

17

64-bit integer

18

Min key

255

Max key

127

PHP driver

Manual install

  • cd /tmp
  • wget http://pecl.php.net/get/mongo-1.4.3.tgz

  • tar xvzf mongo-1.4.3.tgz
  • yum install php-devel #on CentOS
  • phpize
  • ./configure
  • make
  • make install
  • add extension=mongo.so to /etc/php.ini

  • In CentOS 64 bit the mongo.so should be located in /usr/lib64/php/modules/mongo.so

Aggregation examples

http://docs.mongodb.org/manual/reference/sql-aggregation-comparison/

Example 1

   1 SELECT country,city,min(timestampx) as minx,max(timestampx) as maxx,count(*) as countx
   2 FROM collx 
   3 GROUP BY country,city 
   4 WHERE idxyz=1234 AND timestampx>='2011-06-04T00:00:00' AND timestampx<='2012-12-04T23:59:59'
   5 ORDER BY minx

   1 db.collx.runCommand( 
   2   {  "aggregate":"collx" , "pipeline":[
   3       {"$match": 
   4          {
   5            idxyz:1234 , 
   6            "timestampx":{ 
   7              "$gte":ISODate("2011-06-04T00:00:00") , 
   8              "$lte":ISODate("2012-12-04T23:59:59") 
   9            }   
  10          } 
  11       } 
  12       ,
  13       {"$group": 
  14          {
  15            "_id":  {"country":"$country","city":"$city"} , 
  16            "minx":{"$min":"$timestampx"} , 
  17            "maxx":{"$max":"$timestampx"} ,  
  18            "countx":{"$sum":1}  
  19          }    
  20       }
  21       ,
  22       {
  23         "$sort":
  24         { 
  25           "minx":1
  26         } 
  27       } 
  28     ]       
  29   }   
  30 )

   1 db.collx.aggregate( 
   2      [
   3       {"$match": 
   4          {
   5            idxyz:1234 , 
   6            "timestampx":{ 
   7              "$gte":ISODate("2011-06-04T00:00:00") , 
   8              "$lte":ISODate("2012-12-04T23:59:59") 
   9            }   
  10          } 
  11       } 
  12       ,
  13       {"$group": 
  14          {
  15            "_id":  {"country":"$country","city":"$city"} , 
  16            "minx":{"$min":"$timestampx"} , 
  17            "maxx":{"$max":"$timestampx"} ,  
  18            "countx":{"$sum":1}  
  19          }    
  20       }
  21       ,
  22       {
  23         "$sort":
  24         { 
  25           "minx":1
  26         } 
  27       } 
  28     ]       
  29 )
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01