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