MongoDBクエリ文の簡単な分析


find()文
MongoDBサービスを起動します.mongodyはシステムと一緒に起動しないため、以下のコマンドが実行されると、起動が完了するまでしばらく待つ可能性があります.
sudo service mongodb start

MongoDBコマンドライン操作画面に入り、コマンドラインをタップ
exit
終了可能
mongo

find()用法:db.COLLECTION_NAME.find()
> use post #  post   ,        
> db.post.insert([
{
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'shiyanlou',
   url: 'http://www.shiyanlou.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   title: 'NoSQL Database', 
   description: "NoSQL database doesn't have tables",
   by: 'shiyanlou',
   url: 'http://www.shiyanlou.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 20, 
   comments: [    
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2013,11,10,2,35),
         like: 0 
      }
   ]
}
])

パラメータなしでデータを問合せ、デフォルトではすべてのデータレコードを返します.
db.post.find()

pretty()文
pretty()は、クエリー出力の結果をより美しくすることができます.
db.post.find().pretty()

MongoDBのAND
複数のキー値ペアがfind()に入力されると、MongoDBはANDクエリとして処理します.使用法:db.mycol.find({ key1: value1, key2: value2 }).pretty()
db.post.find({"by":"shiyanlou","title": "MongoDB Overview"}).pretty()

MongoDBのOR
MongoDBでは、ORクエリ文は$orをキーワードとし、次のように使用されます.
> db.post.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

ANDとORを併用
> db.post.find({
    "likes": {$gt:10},
    $or: [
        {"by": "shiyanlou"},
        {"title": "MongoDB Overview"}
    ]
}).pretty() #{\$gt:10}     10,  ,\$lt     ,\$lte       ,\$gte       ,\$ne      。