Php MongoDB索引转换为numberlong

Php MongoDB索引转换为numberlong,php,mongodb,laravel,schema,database,Php,Mongodb,Laravel,Schema,Database,我正在尝试使用以下输入在特定字段上创建MongoDB索引: 收集:信息 source_id (integer) message_id (string) subject (string) timestamp (integer) 我需要在source和uid字段上查询此集合 示例文件: { "_id" : ObjectId("53aad315bffebc5d378b4569"), "source_id" : NumberLong(1), "message_id" : "AMA9D2TP

我正在尝试使用以下输入在特定字段上创建MongoDB索引:

收集:信息

source_id (integer)
message_id (string)
subject (string)
timestamp (integer)
我需要在source和uid字段上查询此集合

示例文件:

{ 
 "_id" : ObjectId("53aad315bffebc5d378b4569"), 
 "source_id" : NumberLong(1), 
 "message_id" : "AMA9D2TP9zWA.kuhlman.lowell@dietrich.com", 
 "subject" : "Labore aut est amet temporibus mollitia et.", 
 "timestamp" : NumberLong(1364645191) 
}
一个简单的db.messages.getIndexes()返回我的消息id索引是一个长的数字

> db.messages.getIndexes()
[
{
    "v" : 1,
    "name" : "_id_",
    "key" : {
        "_id" : 1
    },
    "ns" : "hs.messages"
},
{
    "v" : 1,
    "name" : "s_1",
    "key" : {
        "s" : NumberLong(1)
    },
    "ns" : "hs.messages"
},
{
    "v" : 1,
    "name" : "m_1",
    "key" : {
        "m" : NumberLong(1)
    },
    "ns" : "hs.messages"
}
]

字段后面的数字指定排序方向。然而,我不希望这个类型是数字长的。你能分享用来创建索引的命令吗?@James$collection->index('source_id')$集合->索引('message_id');如果将排序方向写为NumberLong,则可能是laravel mongodb代码或底层客户端软件的产物。向该项目提交Github问题可能是值得的。该索引在任何情况下都可以正常工作。我在mongo shell中对此进行了测试,强制排序方向为NumberLong。对该索引的查询按预期工作。您可以通过运行应该使用索引的查询并附加.explain()来测试自己