[{"data":1,"prerenderedAt":2959},["ShallowReactive",2],{"navigation":3,"\u002Fcrud-operations\u002Finsert":151,"\u002Fcrud-operations\u002Finsert-surround":2954},[4,26,48,84,102,129],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,11,16,21],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-rocket",{"title":12,"path":13,"stem":14,"icon":15},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":17,"path":18,"stem":19,"icon":20},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",{"title":22,"path":23,"stem":24,"icon":25},"First Steps","\u002Fgetting-started\u002Ffirst-steps","1.getting-started\u002F4.first-steps","i-lucide-footprints",{"title":27,"path":28,"stem":29,"children":30,"icon":32},"Connection","\u002Fconnection","2.connection\u002F1.index",[31,33,38,43],{"title":27,"path":28,"stem":29,"icon":32},"i-lucide-server",{"title":34,"path":35,"stem":36,"icon":37},"Basic Connection","\u002Fconnection\u002Fbasic","2.connection\u002F2.basic","i-lucide-plug",{"title":39,"path":40,"stem":41,"icon":42},"Connection Options","\u002Fconnection\u002Foptions","2.connection\u002F3.options","i-lucide-settings-2",{"title":44,"path":45,"stem":46,"icon":47},"Database Operations","\u002Fconnection\u002Fdatabase","2.connection\u002F4.database","i-lucide-database",{"title":49,"path":50,"stem":51,"children":52,"icon":47},"CRUD Operations","\u002Fcrud-operations","3.crud-operations\u002F1.index",[53,54,59,64,69,74,79],{"title":49,"path":50,"stem":51,"icon":47},{"title":55,"path":56,"stem":57,"icon":58},"Insert Operations","\u002Fcrud-operations\u002Finsert","3.crud-operations\u002F2.insert","i-lucide-plus-square",{"title":60,"path":61,"stem":62,"icon":63},"Query Operations","\u002Fcrud-operations\u002Fquery","3.crud-operations\u002F3.query","i-lucide-search",{"title":65,"path":66,"stem":67,"icon":68},"Update Operations","\u002Fcrud-operations\u002Fupdate","3.crud-operations\u002F4.update","i-lucide-edit",{"title":70,"path":71,"stem":72,"icon":73},"Delete Operations","\u002Fcrud-operations\u002Fdelete","3.crud-operations\u002F5.delete","i-lucide-trash",{"title":75,"path":76,"stem":77,"icon":78},"Async Operations","\u002Fcrud-operations\u002Fasync","3.crud-operations\u002F6.async","i-lucide-cpu",{"title":80,"path":81,"stem":82,"icon":83},"Query Operators","\u002Fcrud-operations\u002Foperators","3.crud-operations\u002F7.operators","i-lucide-filter",{"title":85,"path":86,"stem":87,"children":88,"icon":90},"Advanced Features","\u002Fadvanced","4.advanced\u002F1.index",[89,91,96],{"title":85,"path":86,"stem":87,"icon":90},"i-lucide-zap",{"title":92,"path":93,"stem":94,"icon":95},"Aggregation Pipelines","\u002Fadvanced\u002Faggregation","4.advanced\u002F2.aggregation","i-lucide-bar-chart-3",{"title":97,"path":98,"stem":99,"children":100,"icon":63},"Manage Indexes","\u002Fadvanced\u002Findexes","4.advanced\u002F3.indexes",[101],{"title":97,"path":98,"stem":99,"icon":63},{"title":103,"path":104,"stem":105,"children":106,"icon":108},"Examples","\u002Fexamples","5.examples\u002F1.index",[107,109,114,119,124],{"title":103,"path":104,"stem":105,"icon":108},"i-lucide-code",{"title":110,"path":111,"stem":112,"icon":113},"Basic Examples","\u002Fexamples\u002Fbasic","5.examples\u002F2.basic","i-lucide-book-open",{"title":115,"path":116,"stem":117,"icon":118},"Player Systems","\u002Fexamples\u002Fplayer-systems","5.examples\u002F3.player-systems","i-lucide-users",{"title":120,"path":121,"stem":122,"icon":123},"Game Systems","\u002Fexamples\u002Fgame-systems","5.examples\u002F4.game-systems","i-lucide-gamepad-2",{"title":125,"path":126,"stem":127,"icon":128},"Server Administration","\u002Fexamples\u002Fadministration","5.examples\u002F5.administration","i-lucide-shield",{"title":130,"path":131,"stem":132,"children":133,"icon":113},"API Reference","\u002Fapi-reference","6.api-reference\u002F1.index",[134,135,139,143,147],{"title":130,"path":131,"stem":132,"icon":113},{"title":136,"path":137,"stem":138},"MongoDB Global","\u002Fapi-reference\u002Fglobal","6.api-reference\u002F2.global",{"title":140,"path":141,"stem":142},"MongoDBClient","\u002Fapi-reference\u002Fclient","6.api-reference\u002F3.client",{"title":144,"path":145,"stem":146},"MongoDBDatabase","\u002Fapi-reference\u002Fdatabase","6.api-reference\u002F4.database",{"title":148,"path":149,"stem":150},"MongoDBCollection","\u002Fapi-reference\u002Fcollection","6.api-reference\u002F5.collection",{"id":152,"title":55,"body":153,"description":2947,"extension":2948,"links":2949,"meta":2950,"navigation":2951,"path":56,"seo":2952,"stem":57,"__hash__":2953},"docs\u002F3.crud-operations\u002F2.insert.md",{"type":154,"value":155,"toc":2919},"minimark",[156,160,164,169,172,177,216,220,230,234,248,252,526,530,533,807,811,814,817,840,843,851,854,866,869,1229,1233,1241,1356,1360,1363,1367,1458,1462,1590,1594,1598,1991,1995,2390,2394,2672,2676,2851,2855,2893,2897,2915],[157,158,55],"h1",{"id":159},"insert-operations",[161,162,163],"p",{},"Learn how to insert documents into MongoDB collections.",[165,166,168],"h2",{"id":167},"insertone","InsertOne",[161,170,171],{},"Insert a single document into a collection.",[173,174,176],"h3",{"id":175},"syntax","Syntax",[178,179,184],"pre",{"className":180,"code":181,"language":182,"meta":183,"style":183},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","local insertedId = collection:InsertOne(document)\n","lua","",[185,186,187],"code",{"__ignoreMap":183},[188,189,192,196,200,203,207,210,213],"span",{"class":190,"line":191},"line",1,[188,193,195],{"class":194},"sMK4o","local",[188,197,199],{"class":198},"sTEyZ"," insertedId ",[188,201,202],{"class":194},"=",[188,204,206],{"class":205},"sBMFI"," collection",[188,208,209],{"class":198},":",[188,211,168],{"class":212},"s2Zo4",[188,214,215],{"class":198},"(document)\n",[173,217,219],{"id":218},"parameters","Parameters",[221,222,223],"ul",{},[224,225,226,229],"li",{},[185,227,228],{},"document"," (table): The document to insert",[173,231,233],{"id":232},"returns","Returns",[221,235,236,242],{},[224,237,238,241],{},[185,239,240],{},"string",": The inserted document's ObjectId",[224,243,244,247],{},[185,245,246],{},"nil",": On failure",[173,249,251],{"id":250},"example","Example",[178,253,255],{"className":180,"code":254,"language":182,"meta":183,"style":183},"local players = db:Collection(\"players\")\n\nlocal id = players:InsertOne({\n    steamid = \"STEAM_0:1:12345678\",\n    username = \"NewPlayer\",\n    level = 1,\n    credits = 1000,\n    joined_at = os.time(),\n    inventory = {},\n    stats = {\n        kills = 0,\n        deaths = 0,\n        playtime = 0\n    }\n})\n\nif id then\n    print(\"Inserted player with ID:\", id)\nelse\n    print(\"Insert failed!\")\nend\n",[185,256,257,289,296,316,335,352,366,379,393,404,415,428,440,451,457,463,468,480,498,504,520],{"__ignoreMap":183},[188,258,259,261,264,266,269,271,274,277,280,284,286],{"class":190,"line":191},[188,260,195],{"class":194},[188,262,263],{"class":198}," players ",[188,265,202],{"class":194},[188,267,268],{"class":205}," db",[188,270,209],{"class":198},[188,272,273],{"class":212},"Collection",[188,275,276],{"class":198},"(",[188,278,279],{"class":194},"\"",[188,281,283],{"class":282},"sfazB","players",[188,285,279],{"class":194},[188,287,288],{"class":198},")\n",[188,290,292],{"class":190,"line":291},2,[188,293,295],{"emptyLinePlaceholder":294},true,"\n",[188,297,299,301,304,306,309,311,313],{"class":190,"line":298},3,[188,300,195],{"class":194},[188,302,303],{"class":198}," id ",[188,305,202],{"class":194},[188,307,308],{"class":205}," players",[188,310,209],{"class":198},[188,312,168],{"class":212},[188,314,315],{"class":198},"({\n",[188,317,319,322,324,327,330,332],{"class":190,"line":318},4,[188,320,321],{"class":198},"    steamid ",[188,323,202],{"class":194},[188,325,326],{"class":194}," \"",[188,328,329],{"class":282},"STEAM_0:1:12345678",[188,331,279],{"class":194},[188,333,334],{"class":198},",\n",[188,336,338,341,343,345,348,350],{"class":190,"line":337},5,[188,339,340],{"class":198},"    username ",[188,342,202],{"class":194},[188,344,326],{"class":194},[188,346,347],{"class":282},"NewPlayer",[188,349,279],{"class":194},[188,351,334],{"class":198},[188,353,355,358,360,364],{"class":190,"line":354},6,[188,356,357],{"class":198},"    level ",[188,359,202],{"class":194},[188,361,363],{"class":362},"sbssI"," 1",[188,365,334],{"class":198},[188,367,369,372,374,377],{"class":190,"line":368},7,[188,370,371],{"class":198},"    credits ",[188,373,202],{"class":194},[188,375,376],{"class":362}," 1000",[188,378,334],{"class":198},[188,380,382,385,387,390],{"class":190,"line":381},8,[188,383,384],{"class":198},"    joined_at ",[188,386,202],{"class":194},[188,388,389],{"class":212}," os.time",[188,391,392],{"class":198},"(),\n",[188,394,396,399,401],{"class":190,"line":395},9,[188,397,398],{"class":198},"    inventory ",[188,400,202],{"class":194},[188,402,403],{"class":198}," {},\n",[188,405,407,410,412],{"class":190,"line":406},10,[188,408,409],{"class":198},"    stats ",[188,411,202],{"class":194},[188,413,414],{"class":198}," {\n",[188,416,418,421,423,426],{"class":190,"line":417},11,[188,419,420],{"class":198},"        kills ",[188,422,202],{"class":194},[188,424,425],{"class":362}," 0",[188,427,334],{"class":198},[188,429,431,434,436,438],{"class":190,"line":430},12,[188,432,433],{"class":198},"        deaths ",[188,435,202],{"class":194},[188,437,425],{"class":362},[188,439,334],{"class":198},[188,441,443,446,448],{"class":190,"line":442},13,[188,444,445],{"class":198},"        playtime ",[188,447,202],{"class":194},[188,449,450],{"class":362}," 0\n",[188,452,454],{"class":190,"line":453},14,[188,455,456],{"class":198},"    }\n",[188,458,460],{"class":190,"line":459},15,[188,461,462],{"class":198},"})\n",[188,464,466],{"class":190,"line":465},16,[188,467,295],{"emptyLinePlaceholder":294},[188,469,471,475,477],{"class":190,"line":470},17,[188,472,474],{"class":473},"s7zQu","if",[188,476,303],{"class":198},[188,478,479],{"class":473},"then\n",[188,481,483,486,488,490,493,495],{"class":190,"line":482},18,[188,484,485],{"class":212},"    print",[188,487,276],{"class":198},[188,489,279],{"class":194},[188,491,492],{"class":282},"Inserted player with ID:",[188,494,279],{"class":194},[188,496,497],{"class":198},", id)\n",[188,499,501],{"class":190,"line":500},19,[188,502,503],{"class":473},"else\n",[188,505,507,509,511,513,516,518],{"class":190,"line":506},20,[188,508,485],{"class":212},[188,510,276],{"class":198},[188,512,279],{"class":194},[188,514,515],{"class":282},"Insert failed!",[188,517,279],{"class":194},[188,519,288],{"class":198},[188,521,523],{"class":190,"line":522},21,[188,524,525],{"class":473},"end\n",[173,527,529],{"id":528},"document-structure","Document Structure",[161,531,532],{},"Documents are Lua tables that convert to BSON:",[178,534,536],{"className":180,"code":535,"language":182,"meta":183,"style":183},"-- Simple document\n{\n    name = \"Test\",\n    value = 42\n}\n\n-- Nested document\n{\n    player = {\n        name = \"Test\",\n        level = 10\n    },\n    items = { \"sword\", \"shield\", \"potion\" }\n}\n\n-- With various types\n{\n    string_field = \"hello\",\n    number_field = 123,\n    float_field = 3.14,\n    boolean_field = true,\n    array_field = { 1, 2, 3 },\n    nested_field = { key = \"value\" },\n    timestamp = os.time()\n}\n",[185,537,538,544,549,565,575,580,584,589,593,602,617,627,632,671,675,679,684,688,704,716,728,740,766,789,802],{"__ignoreMap":183},[188,539,540],{"class":190,"line":191},[188,541,543],{"class":542},"sHwdD","-- Simple document\n",[188,545,546],{"class":190,"line":291},[188,547,548],{"class":198},"{\n",[188,550,551,554,556,558,561,563],{"class":190,"line":298},[188,552,553],{"class":198},"    name ",[188,555,202],{"class":194},[188,557,326],{"class":194},[188,559,560],{"class":282},"Test",[188,562,279],{"class":194},[188,564,334],{"class":198},[188,566,567,570,572],{"class":190,"line":318},[188,568,569],{"class":198},"    value ",[188,571,202],{"class":194},[188,573,574],{"class":362}," 42\n",[188,576,577],{"class":190,"line":337},[188,578,579],{"class":198},"}\n",[188,581,582],{"class":190,"line":354},[188,583,295],{"emptyLinePlaceholder":294},[188,585,586],{"class":190,"line":368},[188,587,588],{"class":542},"-- Nested document\n",[188,590,591],{"class":190,"line":381},[188,592,548],{"class":198},[188,594,595,598,600],{"class":190,"line":395},[188,596,597],{"class":198},"    player ",[188,599,202],{"class":194},[188,601,414],{"class":198},[188,603,604,607,609,611,613,615],{"class":190,"line":406},[188,605,606],{"class":198},"        name ",[188,608,202],{"class":194},[188,610,326],{"class":194},[188,612,560],{"class":282},[188,614,279],{"class":194},[188,616,334],{"class":198},[188,618,619,622,624],{"class":190,"line":417},[188,620,621],{"class":198},"        level ",[188,623,202],{"class":194},[188,625,626],{"class":362}," 10\n",[188,628,629],{"class":190,"line":430},[188,630,631],{"class":198},"    },\n",[188,633,634,637,639,642,644,647,649,652,654,657,659,661,663,666,669],{"class":190,"line":442},[188,635,636],{"class":198},"    items ",[188,638,202],{"class":194},[188,640,641],{"class":198}," { ",[188,643,279],{"class":194},[188,645,646],{"class":282},"sword",[188,648,279],{"class":194},[188,650,651],{"class":198},", ",[188,653,279],{"class":194},[188,655,656],{"class":282},"shield",[188,658,279],{"class":194},[188,660,651],{"class":198},[188,662,279],{"class":194},[188,664,665],{"class":282},"potion",[188,667,668],{"class":194},"\" ",[188,670,579],{"class":198},[188,672,673],{"class":190,"line":453},[188,674,579],{"class":198},[188,676,677],{"class":190,"line":459},[188,678,295],{"emptyLinePlaceholder":294},[188,680,681],{"class":190,"line":465},[188,682,683],{"class":542},"-- With various types\n",[188,685,686],{"class":190,"line":470},[188,687,548],{"class":198},[188,689,690,693,695,697,700,702],{"class":190,"line":482},[188,691,692],{"class":198},"    string_field ",[188,694,202],{"class":194},[188,696,326],{"class":194},[188,698,699],{"class":282},"hello",[188,701,279],{"class":194},[188,703,334],{"class":198},[188,705,706,709,711,714],{"class":190,"line":500},[188,707,708],{"class":198},"    number_field ",[188,710,202],{"class":194},[188,712,713],{"class":362}," 123",[188,715,334],{"class":198},[188,717,718,721,723,726],{"class":190,"line":506},[188,719,720],{"class":198},"    float_field ",[188,722,202],{"class":194},[188,724,725],{"class":362}," 3.14",[188,727,334],{"class":198},[188,729,730,733,735,738],{"class":190,"line":522},[188,731,732],{"class":198},"    boolean_field ",[188,734,202],{"class":194},[188,736,737],{"class":194}," true",[188,739,334],{"class":198},[188,741,743,746,748,750,753,755,758,760,763],{"class":190,"line":742},22,[188,744,745],{"class":198},"    array_field ",[188,747,202],{"class":194},[188,749,641],{"class":198},[188,751,752],{"class":362},"1",[188,754,651],{"class":198},[188,756,757],{"class":362},"2",[188,759,651],{"class":198},[188,761,762],{"class":362},"3",[188,764,765],{"class":198}," },\n",[188,767,769,772,774,777,779,781,784,786],{"class":190,"line":768},23,[188,770,771],{"class":198},"    nested_field ",[188,773,202],{"class":194},[188,775,776],{"class":198}," { key ",[188,778,202],{"class":194},[188,780,326],{"class":194},[188,782,783],{"class":282},"value",[188,785,668],{"class":194},[188,787,788],{"class":198},"},\n",[188,790,792,795,797,799],{"class":190,"line":791},24,[188,793,794],{"class":198},"    timestamp ",[188,796,202],{"class":194},[188,798,389],{"class":212},[188,800,801],{"class":198},"()\n",[188,803,805],{"class":190,"line":804},25,[188,806,579],{"class":198},[165,808,810],{"id":809},"insertmany","InsertMany",[161,812,813],{},"Insert multiple documents in a single operation.",[173,815,176],{"id":816},"syntax-1",[178,818,820],{"className":180,"code":819,"language":182,"meta":183,"style":183},"local insertedIds = collection:InsertMany(documents)\n",[185,821,822],{"__ignoreMap":183},[188,823,824,826,829,831,833,835,837],{"class":190,"line":191},[188,825,195],{"class":194},[188,827,828],{"class":198}," insertedIds ",[188,830,202],{"class":194},[188,832,206],{"class":205},[188,834,209],{"class":198},[188,836,810],{"class":212},[188,838,839],{"class":198},"(documents)\n",[173,841,219],{"id":842},"parameters-1",[221,844,845],{},[224,846,847,850],{},[185,848,849],{},"documents"," (table): Array of documents to insert",[173,852,233],{"id":853},"returns-1",[221,855,856,862],{},[224,857,858,861],{},[185,859,860],{},"table",": Array of inserted ObjectIds",[224,863,864,247],{},[185,865,246],{},[173,867,251],{"id":868},"example-1",[178,870,872],{"className":180,"code":871,"language":182,"meta":183,"style":183},"local players = db:Collection(\"players\")\n\nlocal ids = players:InsertMany({\n    {\n        steamid = \"STEAM_0:1:11111111\",\n        username = \"Player1\",\n        level = 5,\n        credits = 5000\n    },\n    {\n        steamid = \"STEAM_0:1:22222222\",\n        username = \"Player2\",\n        level = 10,\n        credits = 10000\n    },\n    {\n        steamid = \"STEAM_0:1:33333333\",\n        username = \"Player3\",\n        level = 15,\n        credits = 15000\n    }\n})\n\nif ids then\n    print(\"Inserted\", #ids, \"players:\")\n    for i, id in ipairs(ids) do\n        print(\"  \" .. i .. \": \" .. id)\n    end\nelse\n    print(\"Batch insert failed!\")\nend\n",[185,873,874,898,902,919,924,940,956,967,977,981,985,1000,1015,1026,1035,1039,1043,1058,1073,1084,1093,1097,1101,1105,1113,1143,1164,1197,1203,1208,1224],{"__ignoreMap":183},[188,875,876,878,880,882,884,886,888,890,892,894,896],{"class":190,"line":191},[188,877,195],{"class":194},[188,879,263],{"class":198},[188,881,202],{"class":194},[188,883,268],{"class":205},[188,885,209],{"class":198},[188,887,273],{"class":212},[188,889,276],{"class":198},[188,891,279],{"class":194},[188,893,283],{"class":282},[188,895,279],{"class":194},[188,897,288],{"class":198},[188,899,900],{"class":190,"line":291},[188,901,295],{"emptyLinePlaceholder":294},[188,903,904,906,909,911,913,915,917],{"class":190,"line":298},[188,905,195],{"class":194},[188,907,908],{"class":198}," ids ",[188,910,202],{"class":194},[188,912,308],{"class":205},[188,914,209],{"class":198},[188,916,810],{"class":212},[188,918,315],{"class":198},[188,920,921],{"class":190,"line":318},[188,922,923],{"class":198},"    {\n",[188,925,926,929,931,933,936,938],{"class":190,"line":337},[188,927,928],{"class":198},"        steamid ",[188,930,202],{"class":194},[188,932,326],{"class":194},[188,934,935],{"class":282},"STEAM_0:1:11111111",[188,937,279],{"class":194},[188,939,334],{"class":198},[188,941,942,945,947,949,952,954],{"class":190,"line":354},[188,943,944],{"class":198},"        username ",[188,946,202],{"class":194},[188,948,326],{"class":194},[188,950,951],{"class":282},"Player1",[188,953,279],{"class":194},[188,955,334],{"class":198},[188,957,958,960,962,965],{"class":190,"line":368},[188,959,621],{"class":198},[188,961,202],{"class":194},[188,963,964],{"class":362}," 5",[188,966,334],{"class":198},[188,968,969,972,974],{"class":190,"line":381},[188,970,971],{"class":198},"        credits ",[188,973,202],{"class":194},[188,975,976],{"class":362}," 5000\n",[188,978,979],{"class":190,"line":395},[188,980,631],{"class":198},[188,982,983],{"class":190,"line":406},[188,984,923],{"class":198},[188,986,987,989,991,993,996,998],{"class":190,"line":417},[188,988,928],{"class":198},[188,990,202],{"class":194},[188,992,326],{"class":194},[188,994,995],{"class":282},"STEAM_0:1:22222222",[188,997,279],{"class":194},[188,999,334],{"class":198},[188,1001,1002,1004,1006,1008,1011,1013],{"class":190,"line":430},[188,1003,944],{"class":198},[188,1005,202],{"class":194},[188,1007,326],{"class":194},[188,1009,1010],{"class":282},"Player2",[188,1012,279],{"class":194},[188,1014,334],{"class":198},[188,1016,1017,1019,1021,1024],{"class":190,"line":442},[188,1018,621],{"class":198},[188,1020,202],{"class":194},[188,1022,1023],{"class":362}," 10",[188,1025,334],{"class":198},[188,1027,1028,1030,1032],{"class":190,"line":453},[188,1029,971],{"class":198},[188,1031,202],{"class":194},[188,1033,1034],{"class":362}," 10000\n",[188,1036,1037],{"class":190,"line":459},[188,1038,631],{"class":198},[188,1040,1041],{"class":190,"line":465},[188,1042,923],{"class":198},[188,1044,1045,1047,1049,1051,1054,1056],{"class":190,"line":470},[188,1046,928],{"class":198},[188,1048,202],{"class":194},[188,1050,326],{"class":194},[188,1052,1053],{"class":282},"STEAM_0:1:33333333",[188,1055,279],{"class":194},[188,1057,334],{"class":198},[188,1059,1060,1062,1064,1066,1069,1071],{"class":190,"line":482},[188,1061,944],{"class":198},[188,1063,202],{"class":194},[188,1065,326],{"class":194},[188,1067,1068],{"class":282},"Player3",[188,1070,279],{"class":194},[188,1072,334],{"class":198},[188,1074,1075,1077,1079,1082],{"class":190,"line":500},[188,1076,621],{"class":198},[188,1078,202],{"class":194},[188,1080,1081],{"class":362}," 15",[188,1083,334],{"class":198},[188,1085,1086,1088,1090],{"class":190,"line":506},[188,1087,971],{"class":198},[188,1089,202],{"class":194},[188,1091,1092],{"class":362}," 15000\n",[188,1094,1095],{"class":190,"line":522},[188,1096,456],{"class":198},[188,1098,1099],{"class":190,"line":742},[188,1100,462],{"class":198},[188,1102,1103],{"class":190,"line":768},[188,1104,295],{"emptyLinePlaceholder":294},[188,1106,1107,1109,1111],{"class":190,"line":791},[188,1108,474],{"class":473},[188,1110,908],{"class":198},[188,1112,479],{"class":473},[188,1114,1115,1117,1119,1121,1124,1126,1128,1131,1134,1136,1139,1141],{"class":190,"line":804},[188,1116,485],{"class":212},[188,1118,276],{"class":198},[188,1120,279],{"class":194},[188,1122,1123],{"class":282},"Inserted",[188,1125,279],{"class":194},[188,1127,651],{"class":198},[188,1129,1130],{"class":194},"#",[188,1132,1133],{"class":198},"ids, ",[188,1135,279],{"class":194},[188,1137,1138],{"class":282},"players:",[188,1140,279],{"class":194},[188,1142,288],{"class":198},[188,1144,1146,1149,1152,1155,1158,1161],{"class":190,"line":1145},26,[188,1147,1148],{"class":473},"    for",[188,1150,1151],{"class":198}," i, id ",[188,1153,1154],{"class":473},"in",[188,1156,1157],{"class":212}," ipairs",[188,1159,1160],{"class":198},"(ids) ",[188,1162,1163],{"class":473},"do\n",[188,1165,1167,1170,1172,1174,1177,1180,1183,1185,1187,1190,1192,1194],{"class":190,"line":1166},27,[188,1168,1169],{"class":212},"        print",[188,1171,276],{"class":198},[188,1173,279],{"class":194},[188,1175,1176],{"class":194},"  \" ",[188,1178,1179],{"class":194},"..",[188,1181,1182],{"class":198}," i ",[188,1184,1179],{"class":194},[188,1186,326],{"class":194},[188,1188,1189],{"class":282},": ",[188,1191,668],{"class":194},[188,1193,1179],{"class":194},[188,1195,1196],{"class":198}," id)\n",[188,1198,1200],{"class":190,"line":1199},28,[188,1201,1202],{"class":473},"    end\n",[188,1204,1206],{"class":190,"line":1205},29,[188,1207,503],{"class":473},[188,1209,1211,1213,1215,1217,1220,1222],{"class":190,"line":1210},30,[188,1212,485],{"class":212},[188,1214,276],{"class":198},[188,1216,279],{"class":194},[188,1218,1219],{"class":282},"Batch insert failed!",[188,1221,279],{"class":194},[188,1223,288],{"class":198},[188,1225,1227],{"class":190,"line":1226},31,[188,1228,525],{"class":473},[173,1230,1232],{"id":1231},"performance-benefits","Performance Benefits",[161,1234,1235,1237,1238,1240],{},[185,1236,810],{}," is more efficient than multiple ",[185,1239,168],{}," calls:",[178,1242,1244],{"className":180,"code":1243,"language":182,"meta":183,"style":183},"-- Inefficient (multiple round trips)\nfor i = 1, 100 do\n    collection:InsertOne({ index = i })\nend\n\n-- Efficient (single round trip)\nlocal docs = {}\nfor i = 1, 100 do\n    table.insert(docs, { index = i })\nend\ncollection:InsertMany(docs)\n",[185,1245,1246,1251,1270,1287,1291,1295,1300,1312,1328,1340,1344],{"__ignoreMap":183},[188,1247,1248],{"class":190,"line":191},[188,1249,1250],{"class":542},"-- Inefficient (multiple round trips)\n",[188,1252,1253,1256,1258,1260,1262,1264,1267],{"class":190,"line":291},[188,1254,1255],{"class":473},"for",[188,1257,1182],{"class":198},[188,1259,202],{"class":194},[188,1261,363],{"class":362},[188,1263,651],{"class":198},[188,1265,1266],{"class":362},"100",[188,1268,1269],{"class":473}," do\n",[188,1271,1272,1275,1277,1279,1282,1284],{"class":190,"line":298},[188,1273,1274],{"class":205},"    collection",[188,1276,209],{"class":198},[188,1278,168],{"class":212},[188,1280,1281],{"class":198},"({ index ",[188,1283,202],{"class":194},[188,1285,1286],{"class":198}," i })\n",[188,1288,1289],{"class":190,"line":318},[188,1290,525],{"class":473},[188,1292,1293],{"class":190,"line":337},[188,1294,295],{"emptyLinePlaceholder":294},[188,1296,1297],{"class":190,"line":354},[188,1298,1299],{"class":542},"-- Efficient (single round trip)\n",[188,1301,1302,1304,1307,1309],{"class":190,"line":368},[188,1303,195],{"class":194},[188,1305,1306],{"class":198}," docs ",[188,1308,202],{"class":194},[188,1310,1311],{"class":198}," {}\n",[188,1313,1314,1316,1318,1320,1322,1324,1326],{"class":190,"line":381},[188,1315,1255],{"class":473},[188,1317,1182],{"class":198},[188,1319,202],{"class":194},[188,1321,363],{"class":362},[188,1323,651],{"class":198},[188,1325,1266],{"class":362},[188,1327,1269],{"class":473},[188,1329,1330,1333,1336,1338],{"class":190,"line":395},[188,1331,1332],{"class":212},"    table.insert",[188,1334,1335],{"class":198},"(docs, { index ",[188,1337,202],{"class":194},[188,1339,1286],{"class":198},[188,1341,1342],{"class":190,"line":406},[188,1343,525],{"class":473},[188,1345,1346,1349,1351,1353],{"class":190,"line":417},[188,1347,1348],{"class":205},"collection",[188,1350,209],{"class":198},[188,1352,810],{"class":212},[188,1354,1355],{"class":198},"(docs)\n",[165,1357,1359],{"id":1358},"async-insert-operations","Async Insert Operations",[161,1361,1362],{},"For non-blocking inserts, use the async variants.",[173,1364,1366],{"id":1365},"insertoneasync","InsertOneAsync",[178,1368,1370],{"className":180,"code":1369,"language":182,"meta":183,"style":183},"collection:InsertOneAsync(document, function(err, result)\n    if err then\n        print(\"Error:\", err)\n    else\n        print(\"Inserted ID:\", result)\n    end\nend)\n",[185,1371,1372,1400,1410,1426,1431,1447,1451],{"__ignoreMap":183},[188,1373,1374,1376,1378,1380,1383,1386,1388,1392,1395,1398],{"class":190,"line":191},[188,1375,1348],{"class":205},[188,1377,209],{"class":198},[188,1379,1366],{"class":212},[188,1381,1382],{"class":198},"(document, ",[188,1384,1385],{"class":473},"function",[188,1387,276],{"class":194},[188,1389,1391],{"class":1390},"sHdIc","err",[188,1393,1394],{"class":194},",",[188,1396,1397],{"class":1390}," result",[188,1399,288],{"class":194},[188,1401,1402,1405,1408],{"class":190,"line":291},[188,1403,1404],{"class":473},"    if",[188,1406,1407],{"class":198}," err ",[188,1409,479],{"class":473},[188,1411,1412,1414,1416,1418,1421,1423],{"class":190,"line":298},[188,1413,1169],{"class":212},[188,1415,276],{"class":198},[188,1417,279],{"class":194},[188,1419,1420],{"class":282},"Error:",[188,1422,279],{"class":194},[188,1424,1425],{"class":198},", err)\n",[188,1427,1428],{"class":190,"line":318},[188,1429,1430],{"class":473},"    else\n",[188,1432,1433,1435,1437,1439,1442,1444],{"class":190,"line":337},[188,1434,1169],{"class":212},[188,1436,276],{"class":198},[188,1438,279],{"class":194},[188,1440,1441],{"class":282},"Inserted ID:",[188,1443,279],{"class":194},[188,1445,1446],{"class":198},", result)\n",[188,1448,1449],{"class":190,"line":354},[188,1450,1202],{"class":473},[188,1452,1453,1456],{"class":190,"line":368},[188,1454,1455],{"class":473},"end",[188,1457,288],{"class":198},[173,1459,1461],{"id":1460},"insertmanyasync","InsertManyAsync",[178,1463,1465],{"className":180,"code":1464,"language":182,"meta":183,"style":183},"collection:InsertManyAsync(documents, function(err, results)\n    if err then\n        print(\"Error:\", err)\n    else\n        print(\"Inserted\", #results, \"documents\")\n        for i, id in ipairs(results) do\n            print(\"  \" .. id)\n        end\n    end\nend)\n",[185,1466,1467,1491,1499,1513,1517,1544,1560,1575,1580,1584],{"__ignoreMap":183},[188,1468,1469,1471,1473,1475,1478,1480,1482,1484,1486,1489],{"class":190,"line":191},[188,1470,1348],{"class":205},[188,1472,209],{"class":198},[188,1474,1461],{"class":212},[188,1476,1477],{"class":198},"(documents, ",[188,1479,1385],{"class":473},[188,1481,276],{"class":194},[188,1483,1391],{"class":1390},[188,1485,1394],{"class":194},[188,1487,1488],{"class":1390}," results",[188,1490,288],{"class":194},[188,1492,1493,1495,1497],{"class":190,"line":291},[188,1494,1404],{"class":473},[188,1496,1407],{"class":198},[188,1498,479],{"class":473},[188,1500,1501,1503,1505,1507,1509,1511],{"class":190,"line":298},[188,1502,1169],{"class":212},[188,1504,276],{"class":198},[188,1506,279],{"class":194},[188,1508,1420],{"class":282},[188,1510,279],{"class":194},[188,1512,1425],{"class":198},[188,1514,1515],{"class":190,"line":318},[188,1516,1430],{"class":473},[188,1518,1519,1521,1523,1525,1527,1529,1531,1533,1536,1538,1540,1542],{"class":190,"line":337},[188,1520,1169],{"class":212},[188,1522,276],{"class":198},[188,1524,279],{"class":194},[188,1526,1123],{"class":282},[188,1528,279],{"class":194},[188,1530,651],{"class":198},[188,1532,1130],{"class":194},[188,1534,1535],{"class":198},"results, ",[188,1537,279],{"class":194},[188,1539,849],{"class":282},[188,1541,279],{"class":194},[188,1543,288],{"class":198},[188,1545,1546,1549,1551,1553,1555,1558],{"class":190,"line":354},[188,1547,1548],{"class":473},"        for",[188,1550,1151],{"class":198},[188,1552,1154],{"class":473},[188,1554,1157],{"class":212},[188,1556,1557],{"class":198},"(results) ",[188,1559,1163],{"class":473},[188,1561,1562,1565,1567,1569,1571,1573],{"class":190,"line":368},[188,1563,1564],{"class":212},"            print",[188,1566,276],{"class":198},[188,1568,279],{"class":194},[188,1570,1176],{"class":194},[188,1572,1179],{"class":194},[188,1574,1196],{"class":198},[188,1576,1577],{"class":190,"line":381},[188,1578,1579],{"class":473},"        end\n",[188,1581,1582],{"class":190,"line":395},[188,1583,1202],{"class":473},[188,1585,1586,1588],{"class":190,"line":406},[188,1587,1455],{"class":473},[188,1589,288],{"class":198},[165,1591,1593],{"id":1592},"practical-examples","Practical Examples",[173,1595,1597],{"id":1596},"player-registration","Player Registration",[178,1599,1601],{"className":180,"code":1600,"language":182,"meta":183,"style":183},"function RegisterPlayer(steamid, username)\n    local players = db:Collection(\"players\")\n\n    -- Check if player exists\n    local existing = players:FindOne({ steamid = steamid })\n    if existing then\n        return false, \"Player already registered\"\n    end\n\n    -- Insert new player\n    local id = players:InsertOne({\n        steamid = steamid,\n        username = username,\n        level = 1,\n        experience = 0,\n        credits = 1000,\n        created_at = os.time(),\n        last_login = os.time(),\n        settings = {\n            notifications = true,\n            language = \"en\"\n        }\n    })\n\n    if id then\n        return true, id\n    else\n        return false, \"Database error\"\n    end\nend\n\n-- Usage\nlocal success, result = RegisterPlayer(\"STEAM_0:1:12345\", \"NewPlayer\")\nif success then\n    print(\"Registered with ID:\", result)\nelse\n    print(\"Failed:\", result)\nend\n",[185,1602,1603,1622,1647,1651,1656,1680,1688,1706,1710,1714,1719,1735,1744,1753,1763,1774,1784,1795,1806,1815,1826,1840,1845,1850,1854,1862,1871,1875,1890,1894,1898,1902,1908,1939,1949,1965,1970,1986],{"__ignoreMap":183},[188,1604,1605,1607,1610,1612,1615,1617,1620],{"class":190,"line":191},[188,1606,1385],{"class":473},[188,1608,1609],{"class":212}," RegisterPlayer",[188,1611,276],{"class":194},[188,1613,1614],{"class":1390},"steamid",[188,1616,1394],{"class":194},[188,1618,1619],{"class":1390}," username",[188,1621,288],{"class":194},[188,1623,1624,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645],{"class":190,"line":291},[188,1625,1626],{"class":194},"    local",[188,1628,263],{"class":198},[188,1630,202],{"class":194},[188,1632,268],{"class":205},[188,1634,209],{"class":198},[188,1636,273],{"class":212},[188,1638,276],{"class":198},[188,1640,279],{"class":194},[188,1642,283],{"class":282},[188,1644,279],{"class":194},[188,1646,288],{"class":198},[188,1648,1649],{"class":190,"line":298},[188,1650,295],{"emptyLinePlaceholder":294},[188,1652,1653],{"class":190,"line":318},[188,1654,1655],{"class":542},"    -- Check if player exists\n",[188,1657,1658,1660,1663,1665,1667,1669,1672,1675,1677],{"class":190,"line":337},[188,1659,1626],{"class":194},[188,1661,1662],{"class":198}," existing ",[188,1664,202],{"class":194},[188,1666,308],{"class":205},[188,1668,209],{"class":198},[188,1670,1671],{"class":212},"FindOne",[188,1673,1674],{"class":198},"({ steamid ",[188,1676,202],{"class":194},[188,1678,1679],{"class":198}," steamid })\n",[188,1681,1682,1684,1686],{"class":190,"line":354},[188,1683,1404],{"class":473},[188,1685,1662],{"class":198},[188,1687,479],{"class":473},[188,1689,1690,1693,1696,1698,1700,1703],{"class":190,"line":368},[188,1691,1692],{"class":473},"        return",[188,1694,1695],{"class":194}," false",[188,1697,651],{"class":198},[188,1699,279],{"class":194},[188,1701,1702],{"class":282},"Player already registered",[188,1704,1705],{"class":194},"\"\n",[188,1707,1708],{"class":190,"line":381},[188,1709,1202],{"class":473},[188,1711,1712],{"class":190,"line":395},[188,1713,295],{"emptyLinePlaceholder":294},[188,1715,1716],{"class":190,"line":406},[188,1717,1718],{"class":542},"    -- Insert new player\n",[188,1720,1721,1723,1725,1727,1729,1731,1733],{"class":190,"line":417},[188,1722,1626],{"class":194},[188,1724,303],{"class":198},[188,1726,202],{"class":194},[188,1728,308],{"class":205},[188,1730,209],{"class":198},[188,1732,168],{"class":212},[188,1734,315],{"class":198},[188,1736,1737,1739,1741],{"class":190,"line":430},[188,1738,928],{"class":198},[188,1740,202],{"class":194},[188,1742,1743],{"class":198}," steamid,\n",[188,1745,1746,1748,1750],{"class":190,"line":442},[188,1747,944],{"class":198},[188,1749,202],{"class":194},[188,1751,1752],{"class":198}," username,\n",[188,1754,1755,1757,1759,1761],{"class":190,"line":453},[188,1756,621],{"class":198},[188,1758,202],{"class":194},[188,1760,363],{"class":362},[188,1762,334],{"class":198},[188,1764,1765,1768,1770,1772],{"class":190,"line":459},[188,1766,1767],{"class":198},"        experience ",[188,1769,202],{"class":194},[188,1771,425],{"class":362},[188,1773,334],{"class":198},[188,1775,1776,1778,1780,1782],{"class":190,"line":465},[188,1777,971],{"class":198},[188,1779,202],{"class":194},[188,1781,376],{"class":362},[188,1783,334],{"class":198},[188,1785,1786,1789,1791,1793],{"class":190,"line":470},[188,1787,1788],{"class":198},"        created_at ",[188,1790,202],{"class":194},[188,1792,389],{"class":212},[188,1794,392],{"class":198},[188,1796,1797,1800,1802,1804],{"class":190,"line":482},[188,1798,1799],{"class":198},"        last_login ",[188,1801,202],{"class":194},[188,1803,389],{"class":212},[188,1805,392],{"class":198},[188,1807,1808,1811,1813],{"class":190,"line":500},[188,1809,1810],{"class":198},"        settings ",[188,1812,202],{"class":194},[188,1814,414],{"class":198},[188,1816,1817,1820,1822,1824],{"class":190,"line":506},[188,1818,1819],{"class":198},"            notifications ",[188,1821,202],{"class":194},[188,1823,737],{"class":194},[188,1825,334],{"class":198},[188,1827,1828,1831,1833,1835,1838],{"class":190,"line":522},[188,1829,1830],{"class":198},"            language ",[188,1832,202],{"class":194},[188,1834,326],{"class":194},[188,1836,1837],{"class":282},"en",[188,1839,1705],{"class":194},[188,1841,1842],{"class":190,"line":742},[188,1843,1844],{"class":198},"        }\n",[188,1846,1847],{"class":190,"line":768},[188,1848,1849],{"class":198},"    })\n",[188,1851,1852],{"class":190,"line":791},[188,1853,295],{"emptyLinePlaceholder":294},[188,1855,1856,1858,1860],{"class":190,"line":804},[188,1857,1404],{"class":473},[188,1859,303],{"class":198},[188,1861,479],{"class":473},[188,1863,1864,1866,1868],{"class":190,"line":1145},[188,1865,1692],{"class":473},[188,1867,737],{"class":194},[188,1869,1870],{"class":198},", id\n",[188,1872,1873],{"class":190,"line":1166},[188,1874,1430],{"class":473},[188,1876,1877,1879,1881,1883,1885,1888],{"class":190,"line":1199},[188,1878,1692],{"class":473},[188,1880,1695],{"class":194},[188,1882,651],{"class":198},[188,1884,279],{"class":194},[188,1886,1887],{"class":282},"Database error",[188,1889,1705],{"class":194},[188,1891,1892],{"class":190,"line":1205},[188,1893,1202],{"class":473},[188,1895,1896],{"class":190,"line":1210},[188,1897,525],{"class":473},[188,1899,1900],{"class":190,"line":1226},[188,1901,295],{"emptyLinePlaceholder":294},[188,1903,1905],{"class":190,"line":1904},32,[188,1906,1907],{"class":542},"-- Usage\n",[188,1909,1911,1913,1916,1918,1920,1922,1924,1927,1929,1931,1933,1935,1937],{"class":190,"line":1910},33,[188,1912,195],{"class":194},[188,1914,1915],{"class":198}," success, result ",[188,1917,202],{"class":194},[188,1919,1609],{"class":212},[188,1921,276],{"class":198},[188,1923,279],{"class":194},[188,1925,1926],{"class":282},"STEAM_0:1:12345",[188,1928,279],{"class":194},[188,1930,651],{"class":198},[188,1932,279],{"class":194},[188,1934,347],{"class":282},[188,1936,279],{"class":194},[188,1938,288],{"class":198},[188,1940,1942,1944,1947],{"class":190,"line":1941},34,[188,1943,474],{"class":473},[188,1945,1946],{"class":198}," success ",[188,1948,479],{"class":473},[188,1950,1952,1954,1956,1958,1961,1963],{"class":190,"line":1951},35,[188,1953,485],{"class":212},[188,1955,276],{"class":198},[188,1957,279],{"class":194},[188,1959,1960],{"class":282},"Registered with ID:",[188,1962,279],{"class":194},[188,1964,1446],{"class":198},[188,1966,1968],{"class":190,"line":1967},36,[188,1969,503],{"class":473},[188,1971,1973,1975,1977,1979,1982,1984],{"class":190,"line":1972},37,[188,1974,485],{"class":212},[188,1976,276],{"class":198},[188,1978,279],{"class":194},[188,1980,1981],{"class":282},"Failed:",[188,1983,279],{"class":194},[188,1985,1446],{"class":198},[188,1987,1989],{"class":190,"line":1988},38,[188,1990,525],{"class":473},[173,1992,1994],{"id":1993},"batch-item-creation","Batch Item Creation",[178,1996,1998],{"className":180,"code":1997,"language":182,"meta":183,"style":183},"function CreateItems(items)\n    local itemCollection = db:Collection(\"items\")\n\n    local docs = {}\n    for _, item in ipairs(items) do\n        table.insert(docs, {\n            item_id = item.id,\n            name = item.name,\n            type = item.type,\n            rarity = item.rarity or \"common\",\n            stats = item.stats or {},\n            created_at = os.time()\n        })\n    end\n\n    local ids = itemCollection:InsertMany(docs)\n    return ids and #ids or 0\nend\n\n-- Usage\nlocal count = CreateItems({\n    { id = \"sword_1\", name = \"Iron Sword\", type = \"weapon\" },\n    { id = \"shield_1\", name = \"Wooden Shield\", type = \"armor\" },\n    { id = \"potion_1\", name = \"Health Potion\", type = \"consumable\" }\n})\nprint(\"Created\", count, \"items\")\n",[185,1999,2000,2014,2039,2043,2053,2069,2077,2092,2106,2120,2144,2160,2171,2176,2180,2184,2201,2222,2226,2230,2234,2247,2287,2324,2361,2365],{"__ignoreMap":183},[188,2001,2002,2004,2007,2009,2012],{"class":190,"line":191},[188,2003,1385],{"class":473},[188,2005,2006],{"class":212}," CreateItems",[188,2008,276],{"class":194},[188,2010,2011],{"class":1390},"items",[188,2013,288],{"class":194},[188,2015,2016,2018,2021,2023,2025,2027,2029,2031,2033,2035,2037],{"class":190,"line":291},[188,2017,1626],{"class":194},[188,2019,2020],{"class":198}," itemCollection ",[188,2022,202],{"class":194},[188,2024,268],{"class":205},[188,2026,209],{"class":198},[188,2028,273],{"class":212},[188,2030,276],{"class":198},[188,2032,279],{"class":194},[188,2034,2011],{"class":282},[188,2036,279],{"class":194},[188,2038,288],{"class":198},[188,2040,2041],{"class":190,"line":298},[188,2042,295],{"emptyLinePlaceholder":294},[188,2044,2045,2047,2049,2051],{"class":190,"line":318},[188,2046,1626],{"class":194},[188,2048,1306],{"class":198},[188,2050,202],{"class":194},[188,2052,1311],{"class":198},[188,2054,2055,2057,2060,2062,2064,2067],{"class":190,"line":337},[188,2056,1148],{"class":473},[188,2058,2059],{"class":198}," _, item ",[188,2061,1154],{"class":473},[188,2063,1157],{"class":212},[188,2065,2066],{"class":198},"(items) ",[188,2068,1163],{"class":473},[188,2070,2071,2074],{"class":190,"line":354},[188,2072,2073],{"class":212},"        table.insert",[188,2075,2076],{"class":198},"(docs, {\n",[188,2078,2079,2082,2084,2087,2090],{"class":190,"line":368},[188,2080,2081],{"class":198},"            item_id ",[188,2083,202],{"class":194},[188,2085,2086],{"class":198}," item.",[188,2088,2089],{"class":205},"id",[188,2091,334],{"class":198},[188,2093,2094,2097,2099,2101,2104],{"class":190,"line":381},[188,2095,2096],{"class":198},"            name ",[188,2098,202],{"class":194},[188,2100,2086],{"class":198},[188,2102,2103],{"class":205},"name",[188,2105,334],{"class":198},[188,2107,2108,2111,2113,2115,2118],{"class":190,"line":395},[188,2109,2110],{"class":198},"            type ",[188,2112,202],{"class":194},[188,2114,2086],{"class":198},[188,2116,2117],{"class":205},"type",[188,2119,334],{"class":198},[188,2121,2122,2125,2127,2129,2132,2135,2137,2140,2142],{"class":190,"line":406},[188,2123,2124],{"class":198},"            rarity ",[188,2126,202],{"class":194},[188,2128,2086],{"class":198},[188,2130,2131],{"class":205},"rarity",[188,2133,2134],{"class":194}," or",[188,2136,326],{"class":194},[188,2138,2139],{"class":282},"common",[188,2141,279],{"class":194},[188,2143,334],{"class":198},[188,2145,2146,2149,2151,2153,2156,2158],{"class":190,"line":417},[188,2147,2148],{"class":198},"            stats ",[188,2150,202],{"class":194},[188,2152,2086],{"class":198},[188,2154,2155],{"class":205},"stats",[188,2157,2134],{"class":194},[188,2159,403],{"class":198},[188,2161,2162,2165,2167,2169],{"class":190,"line":430},[188,2163,2164],{"class":198},"            created_at ",[188,2166,202],{"class":194},[188,2168,389],{"class":212},[188,2170,801],{"class":198},[188,2172,2173],{"class":190,"line":442},[188,2174,2175],{"class":198},"        })\n",[188,2177,2178],{"class":190,"line":453},[188,2179,1202],{"class":473},[188,2181,2182],{"class":190,"line":459},[188,2183,295],{"emptyLinePlaceholder":294},[188,2185,2186,2188,2190,2192,2195,2197,2199],{"class":190,"line":465},[188,2187,1626],{"class":194},[188,2189,908],{"class":198},[188,2191,202],{"class":194},[188,2193,2194],{"class":205}," itemCollection",[188,2196,209],{"class":198},[188,2198,810],{"class":212},[188,2200,1355],{"class":198},[188,2202,2203,2206,2208,2211,2214,2217,2220],{"class":190,"line":470},[188,2204,2205],{"class":473},"    return",[188,2207,908],{"class":198},[188,2209,2210],{"class":194},"and",[188,2212,2213],{"class":194}," #",[188,2215,2216],{"class":198},"ids ",[188,2218,2219],{"class":194},"or",[188,2221,450],{"class":362},[188,2223,2224],{"class":190,"line":482},[188,2225,525],{"class":473},[188,2227,2228],{"class":190,"line":500},[188,2229,295],{"emptyLinePlaceholder":294},[188,2231,2232],{"class":190,"line":506},[188,2233,1907],{"class":542},[188,2235,2236,2238,2241,2243,2245],{"class":190,"line":522},[188,2237,195],{"class":194},[188,2239,2240],{"class":198}," count ",[188,2242,202],{"class":194},[188,2244,2006],{"class":212},[188,2246,315],{"class":198},[188,2248,2249,2252,2254,2256,2259,2261,2264,2266,2268,2271,2273,2276,2278,2280,2283,2285],{"class":190,"line":742},[188,2250,2251],{"class":198},"    { id ",[188,2253,202],{"class":194},[188,2255,326],{"class":194},[188,2257,2258],{"class":282},"sword_1",[188,2260,279],{"class":194},[188,2262,2263],{"class":198},", name ",[188,2265,202],{"class":194},[188,2267,326],{"class":194},[188,2269,2270],{"class":282},"Iron Sword",[188,2272,279],{"class":194},[188,2274,2275],{"class":198},", type ",[188,2277,202],{"class":194},[188,2279,326],{"class":194},[188,2281,2282],{"class":282},"weapon",[188,2284,668],{"class":194},[188,2286,788],{"class":198},[188,2288,2289,2291,2293,2295,2298,2300,2302,2304,2306,2309,2311,2313,2315,2317,2320,2322],{"class":190,"line":768},[188,2290,2251],{"class":198},[188,2292,202],{"class":194},[188,2294,326],{"class":194},[188,2296,2297],{"class":282},"shield_1",[188,2299,279],{"class":194},[188,2301,2263],{"class":198},[188,2303,202],{"class":194},[188,2305,326],{"class":194},[188,2307,2308],{"class":282},"Wooden Shield",[188,2310,279],{"class":194},[188,2312,2275],{"class":198},[188,2314,202],{"class":194},[188,2316,326],{"class":194},[188,2318,2319],{"class":282},"armor",[188,2321,668],{"class":194},[188,2323,788],{"class":198},[188,2325,2326,2328,2330,2332,2335,2337,2339,2341,2343,2346,2348,2350,2352,2354,2357,2359],{"class":190,"line":791},[188,2327,2251],{"class":198},[188,2329,202],{"class":194},[188,2331,326],{"class":194},[188,2333,2334],{"class":282},"potion_1",[188,2336,279],{"class":194},[188,2338,2263],{"class":198},[188,2340,202],{"class":194},[188,2342,326],{"class":194},[188,2344,2345],{"class":282},"Health Potion",[188,2347,279],{"class":194},[188,2349,2275],{"class":198},[188,2351,202],{"class":194},[188,2353,326],{"class":194},[188,2355,2356],{"class":282},"consumable",[188,2358,668],{"class":194},[188,2360,579],{"class":198},[188,2362,2363],{"class":190,"line":804},[188,2364,462],{"class":198},[188,2366,2367,2370,2372,2374,2377,2379,2382,2384,2386,2388],{"class":190,"line":1145},[188,2368,2369],{"class":212},"print",[188,2371,276],{"class":198},[188,2373,279],{"class":194},[188,2375,2376],{"class":282},"Created",[188,2378,279],{"class":194},[188,2380,2381],{"class":198},", count, ",[188,2383,279],{"class":194},[188,2385,2011],{"class":282},[188,2387,279],{"class":194},[188,2389,288],{"class":198},[173,2391,2393],{"id":2392},"logging-system","Logging System",[178,2395,2397],{"className":180,"code":2396,"language":182,"meta":183,"style":183},"function LogEvent(category, message, data)\n    local logs = db:Collection(\"logs\")\n\n    logs:InsertOneAsync({\n        category = category,\n        message = message,\n        data = data or {},\n        timestamp = os.time(),\n        server_id = GetHostName()\n    }, function(err, id)\n        if err then\n            print(\"Log failed:\", err)\n        end\n        -- Fire and forget - don't block game\n    end)\nend\n\n-- Usage (non-blocking)\nLogEvent(\"player\", \"Player joined\", { steamid = \"STEAM_0:1:12345\" })\nLogEvent(\"economy\", \"Purchase made\", { item = \"weapon\", cost = 500 })\n",[185,2398,2399,2423,2449,2453,2464,2474,2484,2498,2509,2521,2539,2548,2563,2567,2572,2579,2583,2587,2592,2628],{"__ignoreMap":183},[188,2400,2401,2403,2406,2408,2411,2413,2416,2418,2421],{"class":190,"line":191},[188,2402,1385],{"class":473},[188,2404,2405],{"class":212}," LogEvent",[188,2407,276],{"class":194},[188,2409,2410],{"class":1390},"category",[188,2412,1394],{"class":194},[188,2414,2415],{"class":1390}," message",[188,2417,1394],{"class":194},[188,2419,2420],{"class":1390}," data",[188,2422,288],{"class":194},[188,2424,2425,2427,2430,2432,2434,2436,2438,2440,2442,2445,2447],{"class":190,"line":291},[188,2426,1626],{"class":194},[188,2428,2429],{"class":198}," logs ",[188,2431,202],{"class":194},[188,2433,268],{"class":205},[188,2435,209],{"class":198},[188,2437,273],{"class":212},[188,2439,276],{"class":198},[188,2441,279],{"class":194},[188,2443,2444],{"class":282},"logs",[188,2446,279],{"class":194},[188,2448,288],{"class":198},[188,2450,2451],{"class":190,"line":298},[188,2452,295],{"emptyLinePlaceholder":294},[188,2454,2455,2458,2460,2462],{"class":190,"line":318},[188,2456,2457],{"class":205},"    logs",[188,2459,209],{"class":198},[188,2461,1366],{"class":212},[188,2463,315],{"class":198},[188,2465,2466,2469,2471],{"class":190,"line":337},[188,2467,2468],{"class":198},"        category ",[188,2470,202],{"class":194},[188,2472,2473],{"class":198}," category,\n",[188,2475,2476,2479,2481],{"class":190,"line":354},[188,2477,2478],{"class":198},"        message ",[188,2480,202],{"class":194},[188,2482,2483],{"class":198}," message,\n",[188,2485,2486,2489,2491,2494,2496],{"class":190,"line":368},[188,2487,2488],{"class":198},"        data ",[188,2490,202],{"class":194},[188,2492,2493],{"class":198}," data ",[188,2495,2219],{"class":194},[188,2497,403],{"class":198},[188,2499,2500,2503,2505,2507],{"class":190,"line":381},[188,2501,2502],{"class":198},"        timestamp ",[188,2504,202],{"class":194},[188,2506,389],{"class":212},[188,2508,392],{"class":198},[188,2510,2511,2514,2516,2519],{"class":190,"line":395},[188,2512,2513],{"class":198},"        server_id ",[188,2515,202],{"class":194},[188,2517,2518],{"class":212}," GetHostName",[188,2520,801],{"class":198},[188,2522,2523,2526,2528,2530,2532,2534,2537],{"class":190,"line":406},[188,2524,2525],{"class":198},"    }, ",[188,2527,1385],{"class":473},[188,2529,276],{"class":194},[188,2531,1391],{"class":1390},[188,2533,1394],{"class":194},[188,2535,2536],{"class":1390}," id",[188,2538,288],{"class":194},[188,2540,2541,2544,2546],{"class":190,"line":417},[188,2542,2543],{"class":473},"        if",[188,2545,1407],{"class":198},[188,2547,479],{"class":473},[188,2549,2550,2552,2554,2556,2559,2561],{"class":190,"line":430},[188,2551,1564],{"class":212},[188,2553,276],{"class":198},[188,2555,279],{"class":194},[188,2557,2558],{"class":282},"Log failed:",[188,2560,279],{"class":194},[188,2562,1425],{"class":198},[188,2564,2565],{"class":190,"line":442},[188,2566,1579],{"class":473},[188,2568,2569],{"class":190,"line":453},[188,2570,2571],{"class":542},"        -- Fire and forget - don't block game\n",[188,2573,2574,2577],{"class":190,"line":459},[188,2575,2576],{"class":473},"    end",[188,2578,288],{"class":198},[188,2580,2581],{"class":190,"line":465},[188,2582,525],{"class":473},[188,2584,2585],{"class":190,"line":470},[188,2586,295],{"emptyLinePlaceholder":294},[188,2588,2589],{"class":190,"line":482},[188,2590,2591],{"class":542},"-- Usage (non-blocking)\n",[188,2593,2594,2597,2599,2601,2604,2606,2608,2610,2613,2615,2618,2620,2622,2624,2626],{"class":190,"line":500},[188,2595,2596],{"class":212},"LogEvent",[188,2598,276],{"class":198},[188,2600,279],{"class":194},[188,2602,2603],{"class":282},"player",[188,2605,279],{"class":194},[188,2607,651],{"class":198},[188,2609,279],{"class":194},[188,2611,2612],{"class":282},"Player joined",[188,2614,279],{"class":194},[188,2616,2617],{"class":198},", { steamid ",[188,2619,202],{"class":194},[188,2621,326],{"class":194},[188,2623,1926],{"class":282},[188,2625,668],{"class":194},[188,2627,462],{"class":198},[188,2629,2630,2632,2634,2636,2639,2641,2643,2645,2648,2650,2653,2655,2657,2659,2661,2664,2666,2669],{"class":190,"line":506},[188,2631,2596],{"class":212},[188,2633,276],{"class":198},[188,2635,279],{"class":194},[188,2637,2638],{"class":282},"economy",[188,2640,279],{"class":194},[188,2642,651],{"class":198},[188,2644,279],{"class":194},[188,2646,2647],{"class":282},"Purchase made",[188,2649,279],{"class":194},[188,2651,2652],{"class":198},", { item ",[188,2654,202],{"class":194},[188,2656,326],{"class":194},[188,2658,2282],{"class":282},[188,2660,279],{"class":194},[188,2662,2663],{"class":198},", cost ",[188,2665,202],{"class":194},[188,2667,2668],{"class":362}," 500",[188,2670,2671],{"class":198}," })\n",[165,2673,2675],{"id":2674},"error-handling","Error Handling",[178,2677,2679],{"className":180,"code":2678,"language":182,"meta":183,"style":183},"local function safeInsert(collection, document)\n    local success, result = pcall(function()\n        return collection:InsertOne(document)\n    end)\n\n    if not success then\n        print(\"Insert error:\", result)\n        return nil\n    end\n\n    return result\nend\n\n-- Usage\nlocal id = safeInsert(players, { name = \"Test\" })\nif id then\n    print(\"Success:\", id)\nend\n",[185,2680,2681,2702,2719,2731,2737,2741,2752,2767,2774,2778,2782,2789,2793,2797,2801,2824,2832,2847],{"__ignoreMap":183},[188,2682,2683,2685,2688,2691,2693,2695,2697,2700],{"class":190,"line":191},[188,2684,195],{"class":194},[188,2686,2687],{"class":473}," function",[188,2689,2690],{"class":212}," safeInsert",[188,2692,276],{"class":194},[188,2694,1348],{"class":1390},[188,2696,1394],{"class":194},[188,2698,2699],{"class":1390}," document",[188,2701,288],{"class":194},[188,2703,2704,2706,2708,2710,2713,2715,2717],{"class":190,"line":291},[188,2705,1626],{"class":194},[188,2707,1915],{"class":198},[188,2709,202],{"class":194},[188,2711,2712],{"class":212}," pcall",[188,2714,276],{"class":198},[188,2716,1385],{"class":473},[188,2718,801],{"class":194},[188,2720,2721,2723,2725,2727,2729],{"class":190,"line":298},[188,2722,1692],{"class":473},[188,2724,206],{"class":205},[188,2726,209],{"class":198},[188,2728,168],{"class":212},[188,2730,215],{"class":198},[188,2732,2733,2735],{"class":190,"line":318},[188,2734,2576],{"class":473},[188,2736,288],{"class":198},[188,2738,2739],{"class":190,"line":337},[188,2740,295],{"emptyLinePlaceholder":294},[188,2742,2743,2745,2748,2750],{"class":190,"line":354},[188,2744,1404],{"class":473},[188,2746,2747],{"class":194}," not",[188,2749,1946],{"class":198},[188,2751,479],{"class":473},[188,2753,2754,2756,2758,2760,2763,2765],{"class":190,"line":368},[188,2755,1169],{"class":212},[188,2757,276],{"class":198},[188,2759,279],{"class":194},[188,2761,2762],{"class":282},"Insert error:",[188,2764,279],{"class":194},[188,2766,1446],{"class":198},[188,2768,2769,2771],{"class":190,"line":381},[188,2770,1692],{"class":473},[188,2772,2773],{"class":194}," nil\n",[188,2775,2776],{"class":190,"line":395},[188,2777,1202],{"class":473},[188,2779,2780],{"class":190,"line":406},[188,2781,295],{"emptyLinePlaceholder":294},[188,2783,2784,2786],{"class":190,"line":417},[188,2785,2205],{"class":473},[188,2787,2788],{"class":198}," result\n",[188,2790,2791],{"class":190,"line":430},[188,2792,525],{"class":473},[188,2794,2795],{"class":190,"line":442},[188,2796,295],{"emptyLinePlaceholder":294},[188,2798,2799],{"class":190,"line":453},[188,2800,1907],{"class":542},[188,2802,2803,2805,2807,2809,2811,2814,2816,2818,2820,2822],{"class":190,"line":459},[188,2804,195],{"class":194},[188,2806,303],{"class":198},[188,2808,202],{"class":194},[188,2810,2690],{"class":212},[188,2812,2813],{"class":198},"(players, { name ",[188,2815,202],{"class":194},[188,2817,326],{"class":194},[188,2819,560],{"class":282},[188,2821,668],{"class":194},[188,2823,462],{"class":198},[188,2825,2826,2828,2830],{"class":190,"line":465},[188,2827,474],{"class":473},[188,2829,303],{"class":198},[188,2831,479],{"class":473},[188,2833,2834,2836,2838,2840,2843,2845],{"class":190,"line":470},[188,2835,485],{"class":212},[188,2837,276],{"class":198},[188,2839,279],{"class":194},[188,2841,2842],{"class":282},"Success:",[188,2844,279],{"class":194},[188,2846,497],{"class":198},[188,2848,2849],{"class":190,"line":482},[188,2850,525],{"class":473},[165,2852,2854],{"id":2853},"best-practices","Best Practices",[2856,2857,2858,2865,2875,2881,2887],"ol",{},[224,2859,2860,2864],{},[2861,2862,2863],"strong",{},"Use InsertMany for bulk operations",": More efficient than multiple InsertOne calls",[224,2866,2867,2870,2871,2874],{},[2861,2868,2869],{},"Include timestamps",": Add ",[185,2872,2873],{},"created_at"," fields for tracking",[224,2876,2877,2880],{},[2861,2878,2879],{},"Use async for game logic",": Prevents blocking during gameplay",[224,2882,2883,2886],{},[2861,2884,2885],{},"Validate before insert",": Check data integrity before writing",[224,2888,2889,2892],{},[2861,2890,2891],{},"Handle errors",": Always check return values",[165,2894,2896],{"id":2895},"next-steps","Next Steps",[221,2898,2899,2905,2910],{},[224,2900,2901,2904],{},[2902,2903,60],"a",{"href":61}," - Find documents",[224,2906,2907,2909],{},[2902,2908,65],{"href":66}," - Modify documents",[224,2911,2912,2914],{},[2902,2913,75],{"href":76}," - Non-blocking operations",[2916,2917,2918],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":183,"searchDepth":191,"depth":291,"links":2920},[2921,2928,2935,2939,2944,2945,2946],{"id":167,"depth":291,"text":168,"children":2922},[2923,2924,2925,2926,2927],{"id":175,"depth":298,"text":176},{"id":218,"depth":298,"text":219},{"id":232,"depth":298,"text":233},{"id":250,"depth":298,"text":251},{"id":528,"depth":298,"text":529},{"id":809,"depth":291,"text":810,"children":2929},[2930,2931,2932,2933,2934],{"id":816,"depth":298,"text":176},{"id":842,"depth":298,"text":219},{"id":853,"depth":298,"text":233},{"id":868,"depth":298,"text":251},{"id":1231,"depth":298,"text":1232},{"id":1358,"depth":291,"text":1359,"children":2936},[2937,2938],{"id":1365,"depth":298,"text":1366},{"id":1460,"depth":298,"text":1461},{"id":1592,"depth":291,"text":1593,"children":2940},[2941,2942,2943],{"id":1596,"depth":298,"text":1597},{"id":1993,"depth":298,"text":1994},{"id":2392,"depth":298,"text":2393},{"id":2674,"depth":291,"text":2675},{"id":2853,"depth":291,"text":2854},{"id":2895,"depth":291,"text":2896},"Create new documents in MongoDB collections","md",null,{},{"icon":58},{"title":55,"description":2947},"DLCf9hZ9U32D_l1AXp7jTNoOOrjgiK_SGWuRf8LEbl8",[2955,2957],{"title":49,"path":50,"stem":51,"description":2956,"icon":47,"children":-1},"Master Create, Read, Update, Delete operations with gmsv_mongo",{"title":60,"path":61,"stem":62,"description":2958,"icon":63,"children":-1},"Find and retrieve documents from MongoDB",1774271023675]