程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> MongoDB減法查詢

MongoDB減法查詢

編輯:DB2教程

比如集合中每個文檔都有一個字段表示epoch秒數。任務是用當前時間的epoch減去這個字段的值,如果差超過300秒,則查詢出來。

先看一下一個文檔數據的例子:
 

{
	"_id" : ObjectId("5271ab5133f6792263dd8e8e"),
	"address" : "131031000947",
	"description" : "bind",
	"group_id" : ObjectId("505efb8a3b62c5d7bc8c624f"),
	"last_active_time" : 1386768863,
	"location" : "test",
	"status" : "offline",
	"user_id" : ObjectId("4ee175ff82bc6273d0d4672f"),
	"validate_code" : "123456"
}

現在假定當前時間的epoch是1386775885

那麼查詢語句應該這麼寫 

rs1:PRIMARY> db.display.findOne({$where: '(1386775885 - this.last_active_time > 300)'})
{
	"_id" : ObjectId("5271ab5133f6792263dd8e8e"),
	"address" : "131031000947",
	"description" : "bind",
	"group_id" : ObjectId("505efb8a3b62c5d7bc8c624f"),
	"last_active_time" : 1386768863,
	"location" : "test",
	"status" : "offline",
	"user_id" : ObjectId("4ee175ff82bc6273d0d4672f"),
	"validate_code" : "123456"
}

用$and將兩個查詢條件連在一起, 並用count顯示數量 

rs1:PRIMARY> db.display.find({$and: [{$where: '(1386775885 - this.last_active_time > 300)'}, {status: "online"}]}).count()
0

這個查詢中關鍵是$where的運用, $where允許執行JavaScript代碼。

然後是$and.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved