2016-11-11 60 views
0

我想查詢使用基於運營商likedate(11/11/2016)東西:如何查詢在蒙戈分貝使用類似操作

如何做同樣在MongoDB中?

db.getCollection('TableName').find({"Date":/.*10/11/2016.*/}) 

我試着用這個查詢,但得到了invalid result

+0

是日期存儲爲字符串? –

+0

是的lakshmipriya。 剛剛嘗試過此查詢的結果db.getCollection('TableName')。find({「Date」:/.* 11 \/11 \/2016。* /}) – vijith

回答

1

有一個在蒙戈沒有like,您可以在此情況下,你不要求正則表達式使用regex 在這裏,你可以使用簡單的查找查詢得到你的結果,儲存在MongoDB的日期是在ISO甲,所以首先你轉換日期ISO date再找到如

var convertDate = "11/11/2016"; 
convertDate = new Date(11/11/2016); 
db.getCollection('TableName').find({date : convertDate}) 

或者,如果你想蒙哥使用like

1)搜索直接

db.getCollection('TableName').find({date : {$regex : "11/11/2016"}}) 

2) 創建日期上的文本索引,然後搜索

db.getCollection('TableName').find({$text:{$search:"11/11/2016"}}) 
-1

像/正則表達式MongoDB中可以做到通過.當你的價值有/

獲取日期開始10/11/,試試這個您的查詢:

db.getCollection('TableName').find({'Date':/^10.11./})