Php MongoDB索引转换为numberlong
我正在尝试使用以下输入在特定字段上创建MongoDB索引: 收集:信息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
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()来测试自己