0
我有以下代碼用於檢索MongoDB中恰好具有按位標誌「狀態」的消息,這就是爲什麼我使用內置的BsonJavaScript功能來過濾這些記錄。即使語句使用JavaScript語法進行查詢評估,該語句是否會嘗試在ToUserId或Status字段上使用索引?MongoDB中的BsonJavaScript可以索引嗎?
public long NewMessageCount
{
get
{
var script = CreateScript("Status", MessageStatus.Unread);
return MongoConnectionHandler.MongoCollection.Count(Query.Where(script));
}
}
public string ToUserId = "51e8dd21d84513129c644fa6";
public string CreateScript(string field, MessageStatus filter)
{
return String.Format("this.ToUserId == '{0}' && (this.{1} & {2}) == {3}", ToUserId, field, (int)filter);
}