1
我已經看到了這個問題,它已經過時了。這如何適用於mongodb 2.6和新的$ text運算符?Mongodb 2.6 - 如何知道文本搜索結果的數量?
我們可以得到計數嗎?我想知道的解決方案,性能等
get a count on a text search mongodb
我已經看到了這個問題,它已經過時了。這如何適用於mongodb 2.6和新的$ text運算符?Mongodb 2.6 - 如何知道文本搜索結果的數量?
我們可以得到計數嗎?我想知道的解決方案,性能等
get a count on a text search mongodb
在mongodb v2.6
你可以在聚合管道使用$text運營商。
var term = "searchTerm"
var result = db.collection.aggregate([
{$match:{"$text":{$search:term}}},
{$group:{"_id":null,"count":{$sum:1}}}
]).map(function(i){return {"count":i.count};});
result[0].count
會給你匹配的文件數量。
如果你只是想要計數,那麼你可以使用count()
函數。
db.collection.count({$text:{$search:term}});
您可以閱讀here更多有關如何使用各種查詢運營商,以及它如何票價使用它。
我有數千萬條記錄,這個計數操作非常緩慢。任何解決方案 –
@哈里 - 聚合怎麼樣?我編輯了總管道。請檢查它是如何執行的。 – BatScream
5分鐘後仍然在加載,所以我放棄了。我的文字索引大約是11GB。有沒有解決這個問題的方法? –