Laravel MongoDB在按id查找查询时速度太慢,仅针对100000项?

Laravel MongoDB在按id查找查询时速度太慢,仅针对100000项?,laravel,mongodb,Laravel,Mongodb,我收集了100000(99996)份文档,并使用Laravel进行集成 当我想通过id查找文档时,响应时间太长。(大约>80毫秒) 我想知道为什么仅仅10万件就要花太长时间 并且_id字段被索引 我应该设置哪些配置以获得更好的性能 请注意,我的文档中嵌入了一些由Laravel模型嵌入的内容 其中一个文档的示例: { "_id": ObjectId("5d88a2857c254f0256737f43"), "name": "blcy", "coach": null,

我收集了100000(99996)份文档,并使用Laravel进行集成

当我想通过id查找文档时,响应时间太长。(大约>80毫秒)

我想知道为什么仅仅10万件就要花太长时间

并且_id字段被索引

我应该设置哪些配置以获得更好的性能

请注意,我的文档中嵌入了一些由Laravel模型嵌入的内容

其中一个文档的示例:

{
    "_id": ObjectId("5d88a2857c254f0256737f43"),
    "name": "blcy",
    "coach": null,
    "line_up": 1,
    "sponsor_id": "5d131dd37c254f1d007d01f0",
    "last_online": ISODate("2019-09-23T10:46:29.000Z"),
    "stadium": 1,
    "active_stadium": 1,
    "doctor": 1,
    "active_doctor": 1,
    "trainer": 1,
    "coach_assistant": 1,
    "active_coach_assistant": 1,
    "fitness_coach": 1,
    "active_fitness_coach": 1,
    "leader": 1,
    "active_leader": 1,
    "executive_manager": 1,
    "active_executive_manager": 1,
    "strategy": 1,
    "attack_tactic": 1,
    "defence_tactic": 1,
    "ticket_price": 5,
    "user_id": "5d88a2847c254f0256737f42",
    "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
    "created_at": ISODate("2019-09-23T10:46:29.000Z"),
    "kit": {
        "bg_color": 10,
        "fg_color": 20,
        "fg": 1,
        "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
        "created_at": ISODate("2019-09-23T10:46:29.000Z"),
        "_id": ObjectId("5d88a2857c254f0256737f44")
    },
    "logo": {
        "bg_color": 10,
        "fg_color": 20,
        "fg": 1,
        "bg": 11,
        "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
        "created_at": ISODate("2019-09-23T10:46:29.000Z"),
        "_id": ObjectId("5d88a2857c254f0256737f45")
    },
    "players": [
        {
            "name": "بردیا رادمان",
            "player_number": 7,
            "age": 22,
            "post": "G",
            "talent": 2,
            "shoot": 6,
            "pass": 2,
            "speed": 5,
            "strength": 5,
            "readiness": 100,
            "technique": 6,
            "head": 6,
            "real_power": 83,
            "power": 30,
            "level": 2,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f46"),
            "in_lineup": true,
            "position": "G"
        },
        {
            "name": "سعید قاضی",
            "player_number": 1,
            "age": 19,
            "post": "G",
            "talent": 5,
            "shoot": 2,
            "pass": 2,
            "speed": 6,
            "strength": 5,
            "readiness": 100,
            "technique": 6,
            "head": 2,
            "real_power": 69,
            "power": 23,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f47")
        },
        {
            "name": "علیرضا چلبی",
            "player_number": 47,
            "age": 19,
            "post": "G",
            "talent": 4,
            "shoot": 4,
            "pass": 3,
            "speed": 4,
            "strength": 3,
            "readiness": 100,
            "technique": 4,
            "head": 3,
            "real_power": 60,
            "power": 21,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f48")
        },
        {
            "name": "آذین اوستا",
            "player_number": 52,
            "age": 25,
            "post": "G",
            "talent": 4,
            "shoot": 5,
            "pass": 6,
            "speed": 2,
            "strength": 6,
            "readiness": 100,
            "technique": 2,
            "head": 4,
            "real_power": 91,
            "power": 25,
            "level": 2,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f49")
        },
        {
            "name": "یاسین صفوی",
            "player_number": 28,
            "age": 20,
            "post": "D",
            "talent": 4,
            "shoot": 5,
            "pass": 4,
            "speed": 3,
            "strength": 4,
            "readiness": 100,
            "technique": 3,
            "head": 4,
            "real_power": 68,
            "power": 23,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f4a"),
            "in_lineup": true,
            "position": "D"
        },
        {
            "name": "خشایار نوبخت",
            "player_number": 36,
            "age": 17,
            "post": "D",
            "talent": 2,
            "shoot": 6,
            "pass": 5,
            "speed": 3,
            "strength": 5,
            "readiness": 100,
            "technique": 3,
            "head": 3,
            "real_power": 75,
            "power": 25,
            "level": 2,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f4b"),
            "in_lineup": true,
            "position": "D"
        },
        {
            "name": "شجاع سحاب",
            "player_number": 18,
            "age": 23,
            "post": "D",
            "talent": 3,
            "shoot": 4,
            "pass": 2,
            "speed": 2,
            "strength": 3,
            "readiness": 100,
            "technique": 5,
            "head": 4,
            "real_power": 53,
            "power": 20,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f4c"),
            "in_lineup": true,
            "position": "D"
        },
        {
            "name": "رها فهمیده",
            "player_number": 10,
            "age": 26,
            "post": "D",
            "talent": 3,
            "shoot": 5,
            "pass": 5,
            "speed": 3,
            "strength": 5,
            "readiness": 100,
            "technique": 5,
            "head": 3,
            "real_power": 76,
            "power": 26,
            "level": 2,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f4d"),
            "in_lineup": true,
            "position": "D"
        },
        {
            "name": "آذین عبدالکریمی",
            "player_number": 32,
            "age": 18,
            "post": "D",
            "talent": 2,
            "shoot": 6,
            "pass": 4,
            "speed": 2,
            "strength": 2,
            "readiness": 100,
            "technique": 6,
            "head": 5,
            "real_power": 59,
            "power": 25,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f4e"),
            "in_lineup": true,
            "position": "D"
        },
        {
            "name": "محمدرضا طالقانی",
            "player_number": 22,
            "age": 26,
            "post": "D",
            "talent": 5,
            "shoot": 3,
            "pass": 3,
            "speed": 3,
            "strength": 4,
            "readiness": 100,
            "technique": 6,
            "head": 2,
            "real_power": 60,
            "power": 21,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f4f")
        },
        {
            "name": "پارسا دستغیب",
            "player_number": 9,
            "age": 19,
            "post": "D",
            "talent": 1,
            "shoot": 6,
            "pass": 2,
            "speed": 4,
            "strength": 3,
            "readiness": 100,
            "technique": 6,
            "head": 2,
            "real_power": 58,
            "power": 23,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f50")
        },
        {
            "name": "فرشید پناهیان",
            "player_number": 33,
            "age": 26,
            "post": "M",
            "talent": 2,
            "shoot": 2,
            "pass": 6,
            "speed": 2,
            "strength": 4,
            "readiness": 100,
            "technique": 3,
            "head": 6,
            "real_power": 72,
            "power": 23,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f51"),
            "in_lineup": true,
            "position": "M"
        },
        {
            "name": "سپهر واعظ",
            "player_number": 8,
            "age": 26,
            "post": "M",
            "talent": 4,
            "shoot": 4,
            "pass": 3,
            "speed": 3,
            "strength": 2,
            "readiness": 100,
            "technique": 6,
            "head": 6,
            "real_power": 72,
            "power": 24,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f52"),
            "in_lineup": true,
            "position": "M"
        },
        {
            "name": "امیررضا کوشکی",
            "player_number": 3,
            "age": 26,
            "post": "M",
            "talent": 5,
            "shoot": 4,
            "pass": 2,
            "speed": 6,
            "strength": 3,
            "readiness": 100,
            "technique": 3,
            "head": 4,
            "real_power": 62,
            "power": 22,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f53"),
            "in_lineup": true,
            "position": "M"
        },
        {
            "name": "پدرام جنتی",
            "player_number": 29,
            "age": 24,
            "post": "M",
            "talent": 3,
            "shoot": 2,
            "pass": 4,
            "speed": 5,
            "strength": 4,
            "readiness": 100,
            "technique": 2,
            "head": 4,
            "real_power": 63,
            "power": 21,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f54")
        },
        {
            "name": "محمد علی‌آبادی",
            "player_number": 13,
            "age": 17,
            "post": "M",
            "talent": 1,
            "shoot": 2,
            "pass": 5,
            "speed": 3,
            "strength": 3,
            "readiness": 100,
            "technique": 4,
            "head": 4,
            "real_power": 68,
            "power": 21,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f55")
        },
        {
            "name": "سهیل فانی",
            "player_number": 19,
            "age": 25,
            "post": "M",
            "talent": 1,
            "shoot": 2,
            "pass": 3,
            "speed": 4,
            "strength": 4,
            "readiness": 100,
            "technique": 4,
            "head": 5,
            "real_power": 65,
            "power": 22,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f56")
        },
        {
            "name": "شهرام گنجی",
            "player_number": 24,
            "age": 17,
            "post": "S",
            "talent": 4,
            "shoot": 6,
            "pass": 3,
            "speed": 6,
            "strength": 2,
            "readiness": 100,
            "technique": 2,
            "head": 2,
            "real_power": 69,
            "power": 21,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f57"),
            "in_lineup": true,
            "position": "S"
        },
        {
            "name": "امیرمحمد سرافراز",
            "player_number": 2,
            "age": 21,
            "post": "S",
            "talent": 4,
            "shoot": 6,
            "pass": 2,
            "speed": 5,
            "strength": 4,
            "readiness": 100,
            "technique": 5,
            "head": 5,
            "real_power": 90,
            "power": 27,
            "level": 2,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f58"),
            "in_lineup": true,
            "position": "S"
        },
        {
            "name": "فربد ارسباران",
            "player_number": 20,
            "age": 25,
            "post": "S",
            "talent": 2,
            "shoot": 2,
            "pass": 2,
            "speed": 5,
            "strength": 3,
            "readiness": 100,
            "technique": 4,
            "head": 4,
            "real_power": 65,
            "power": 20,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f59")
        },
        {
            "name": "فرشید الهام",
            "player_number": 21,
            "age": 24,
            "post": "S",
            "talent": 2,
            "shoot": 4,
            "pass": 3,
            "speed": 6,
            "strength": 2,
            "readiness": 100,
            "technique": 3,
            "head": 6,
            "real_power": 78,
            "power": 24,
            "level": 2,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f5a")
        },
        {
            "name": "ساسان طریقت",
            "player_number": 35,
            "age": 17,
            "post": "S",
            "talent": 5,
            "shoot": 2,
            "pass": 5,
            "speed": 4,
            "strength": 2,
            "readiness": 100,
            "technique": 5,
            "head": 6,
            "real_power": 74,
            "power": 24,
            "level": 1,
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f5b")
        }
    ],
    "league_id": "5d88a2857c254f0256737f5d",
    "league_name": "league-0-1",
    "transactions": [
        {
            "amount": 120000,
            "type": "coin",
            "cash": 0,
            "coin": 120000,
            "description": "1",
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f5e")
        },
        {
            "amount": 100,
            "type": "cash",
            "cash": 100,
            "coin": 120000,
            "description": "1",
            "updated_at": ISODate("2019-09-23T10:46:29.000Z"),
            "created_at": ISODate("2019-09-23T10:46:29.000Z"),
            "_id": ObjectId("5d88a2857c254f0256737f5f")
        }
    ],
    "cash": 100,
    "coin": 120000,
    "fixtures": [
        {
            "league_name": "league-0-1",
            "home_id": "5d88a2857c254f025673800f",
            "guest_id": "5d88a2857c254f0256737f43",
            "week_day": 1,
            "weather_type": "sunny",
            "home_goal": 0,
            "guest_goal": 0,
            "friendly": false,
            "fixture_id": "5d89dff87c254f36ee3ae9ab",
            "updated_at": ISODate("2019-09-24T09:20:56.000Z"),
            "created_at": ISODate("2019-09-24T09:20:56.000Z"),
            "_id": ObjectId("5d89dff87c254f36ee3ae9ad")
        },
        {
            "league_name": "league-0-1",
            "home_id": "5d88a2857c254f0256737f61",
            "guest_id": "5d88a2857c254f0256737f43",
            "week_day": 2,
            "weather_type": "rainy",
            "home_goal": 0,
            "guest_goal": 0,
            "friendly": false,
            "fixture_id": "5d89dff87c254f36ee3ae9c0",
            "updated_at": ISODate("2019-09-24T09:20:56.000Z"),
            "created_at": ISODate("2019-09-24T09:20:56.000Z"),
            "_id": ObjectId("5d89dff87c254f36ee3ae9c2")
        },
        {
            "league_name": "league-0-1",
            "home_id": "5d88a2857c254f0256737f43",
            "guest_id": "5d88a2857c254f0256737f7e",
            "week_day": 3,
            "weather_type": "sunny",
            "home_goal": 0,
            "guest_goal": 0,
            "friendly": false,
            "fixture_id": "5d89dff87c254f36ee3ae9c6",
            "updated_at": ISODate("2019-09-24T09:20:56.000Z"),
            "created_at": ISODate("2019-09-24T09:20:56.000Z"),
            "_id": ObjectId("5d89dff87c254f36ee3ae9c7")
        },
        {
            "league_name": "league-0-1",
            "home_id": "5d88a2857c254f0256737f9b",
            "guest_id": "5d88a2857c254f0256737f43",
            "week_day": 4,
            "weather_type": "sunny",
            "home_goal": 0,
            "guest_goal": 0,
            "friendly": false,
            "fixture_id": "5d89dff87c254f36ee3ae9d5",
            "updated_at": ISODate("2019-09-24T09:20:56.000Z"),
            "created_at": ISODate("2019-09-24T09:20:56.000Z"),
            "_id": ObjectId("5d89dff87c254f36ee3ae9d7")
        },
        {
            "league_name": "league-0-1",
            "home_id": "5d88a2857c254f0256737f43",
            "guest_id": "5d88a2857c254f0256737fb8",
            "week_day": 5,
            "weather_type": "rainy",
            "home_goal": null,
            "guest_goal": null,
            "friendly": false,
            "fixture_id": "5d89dff87c254f36ee3ae9e1",
            "updated_at": ISODate("2019-09-24T09:20:57.000Z"),
            "created_at": ISODate("2019-09-24T09:20:57.000Z"),
            "_id": ObjectId("5d89dff97c254f36ee3ae9e2")
        },
        {
            "league_name": "league-0-1",
            "home_id": "5d88a2857c254f0256737fd5",
            "guest_id": "5d88a2857c254f0256737f43",
            "week_day": 6,
            "weather_type": "sunny",
            "home_goal": null,
            "guest_goal": null,
            "friendly": false,
            "fixture_id": "5d89dff97c254f36ee3ae9ea",
            "updated_at": ISODate("2019-09-24T09:20:57.000Z"),
            "created_at": ISODate("2019-09-24T09:20:57.000Z"),
            "_id": ObjectId("5d89dff97c254f36ee3ae9ec")
        },
        {
            "league_name": "league-0-1",
            "home_id": "5d88a2857c254f0256737f43",
            "guest_id": "5d88a2857c254f0256737ff2",
            "week_day": 7,
            "weather_type": "sunny",
            "home_goal": null,
            "guest_goal": null,
            "friendly": false,
            "fixture_id": "5d89dff97c254f36ee3ae9fc",
            "updated_at": ISODate("2019-09-24T09:20:57.000Z"),
            "created_at": ISODate("2019-09-24T09:20:57.000Z"),
            "_id": ObjectId("5d89dff97c254f36ee3ae9fd")
        }
    ]
}
找到这样一个团队:

$team=team::find($team['team_id');
编辑: chunk方法和也不能帮助我,因为我只想找到一个文档,而不是在一行中获取所有文档


谢谢。

你做完了吗。解释一下('executionStats');在您的查询中,查看了输出?“executionTimeMillisEstimate”:400,可能与否重复,我无法分块模型,因为我只想找到一个项而不是所有项。您能检查executionStats.totalDocsExamined是什么吗?这将有助于在返回匹配的文档之前确定要扫描的文档数。如果索引正确,则应为1。