Advertisement
Guest User

Untitled

a guest
Jul 30th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.29 KB | None | 0 0
  1. Atom™ N2800 2c/4t 1.86 GHz+ 4Go RAM 80Go SSD 100 Mbps
  2.  
  3. loc: {
  4. lon: ,
  5. lat:
  6. }
  7.  
  8. var x = mongoose.Schema({
  9. loc: {
  10. lon: Number,
  11. lat: Number
  12. },
  13. created_at: { type: Date, default: Date.now }
  14. }, { collection: 'places' });
  15.  
  16. xSchema.index({loc: "2d", "created_at": -1});
  17. xSchema.index({"created_at": -1});
  18.  
  19. var Model = mongoose.model('places', xSchema);
  20. Model.on('index', function (error) {
  21. if (error) return error;
  22. console.log("ON INDEX");
  23. });
  24.  
  25. ON INDEX
  26. Mongoose: x.ensureIndex({ loc: '2d', created_at: -1 }) { background: true }
  27. Mongoose: x.ensureIndex({ created_at: -1 }) { background: true }
  28.  
  29. db.places.find({ loc: { '$geoWithin': { '$box': [ [ 2.1566688432447227, 48.62968892500415 ], [ 2.5523096661210394, 49.07990389337538 ] ], } } }).sort({created_at: -1}).limit(100).explain()
  30.  
  31. Model.find({
  32. loc: {
  33. $geoWithin: {
  34. $box:[
  35. [ parseFloat(Math.min(values.lngmin, values.lngmax)), parseFloat(Math.min(values.latmin, values.latmax)) ],
  36. [ parseFloat(Math.max(values.lngmin, values.lngmax)), parseFloat(Math.max(values.latmin, values.latmax)) ]
  37. ]
  38. }
  39. }
  40. },function (err, places) {
  41. if(err){
  42. callback(err, null);
  43. return;
  44. }
  45. callback(err, places);
  46. }).
  47. sort({ created_at: -1 }).
  48. limit(limit);
  49.  
  50. "queryPlanner" : {
  51. "plannerVersion" : 1,
  52. "namespace" : "test.x",
  53. "indexFilterSet" : false,
  54. "parsedQuery" : {
  55. "loc" : {
  56. "$geoWithin" : {
  57. "$box" : [
  58. [
  59. 2.1566688432447227,
  60. 48.62968892500415
  61. ],
  62. [
  63. 2.5523096661210394,
  64. 49.07990389337538
  65. ]
  66. ]
  67. }
  68. }
  69. },
  70. "winningPlan" : {
  71. "stage" : "LIMIT",
  72. "limitAmount" : 100,
  73. "inputStage" : {
  74. "stage" : "FETCH",
  75. "filter" : {
  76. "loc" : {
  77. "$geoWithin" : {
  78. "$box" : [
  79. [
  80. 2.1566688432447227,
  81. 48.62968892500415
  82. ],
  83. [
  84. 2.5523096661210394,
  85. 49.07990389337538
  86. ]
  87. ]
  88. }
  89. }
  90. },
  91. "inputStage" : {
  92. "stage" : "IXSCAN",
  93. "keyPattern" : {
  94. "created_at" : -1
  95. },
  96. "indexName" : "created_at_-1",
  97. "isMultiKey" : false,
  98. "isUnique" : false,
  99. "isSparse" : false,
  100. "isPartial" : false,
  101. "indexVersion" : 1,
  102. "direction" : "forward",
  103. "indexBounds" : {
  104. "created_at" : [
  105. "[MaxKey, MinKey]"
  106. ]
  107. }
  108. }
  109. }
  110. },
  111. "rejectedPlans" : [
  112. {
  113. "stage" : "SORT",
  114. "sortPattern" : {
  115. "created_at" : -1
  116. },
  117. "limitAmount" : 100,
  118. "inputStage" : {
  119. "stage" : "SORT_KEY_GENERATOR",
  120. "inputStage" : {
  121. "stage" : "FETCH",
  122. "filter" : {
  123. "loc" : {
  124. "$geoWithin" : {
  125. "$box" : [
  126. [
  127. 2.1566688432447227,
  128. 48.62968892500415
  129. ],
  130. [
  131. 2.5523096661210394,
  132. 49.07990389337538
  133. ]
  134. ]
  135. }
  136. }
  137. },
  138. "inputStage" : {
  139. "stage" : "IXSCAN",
  140. "keyPattern" : {
  141. "loc" : "2d",
  142. "created_at" : -1
  143. },
  144. "indexName" : "loc_2d_created_at_-1",
  145. "isMultiKey" : false,
  146. "isUnique" : false,
  147. "isSparse" : false,
  148. "isPartial" : false,
  149. "indexVersion" : 1,
  150. "direction" : "forward",
  151. "indexBounds" : {
  152. "loc" : [
  153. "[BinData(128, C406C10000000000), BinData(128, C406C1FFFFFFFFFF)]",
  154. "[BinData(128, C406C30000000000), BinData(128, C406C3FFFFFFFFFF)]",
  155. "[BinData(128, C406C40000000000), BinData(128, C406C7FFFFFFFFFF)]",
  156. "[BinData(128, C406C90000000000), BinData(128, C406C9FFFFFFFFFF)]",
  157. "[BinData(128, C406CB0000000000), BinData(128, C406CBFFFFFFFFFF)]",
  158. "[BinData(128, C406CC0000000000), BinData(128, C406CFFFFFFFFFFF)]",
  159. "[BinData(128, C406D00000000000), BinData(128, C406D3FFFFFFFFFF)]",
  160. "[BinData(128, C406D40000000000), BinData(128, C406D7FFFFFFFFFF)]",
  161. "[BinData(128, C406D80000000000), BinData(128, C406DBFFFFFFFFFF)]",
  162. "[BinData(128, C406DC0000000000), BinData(128, C406DCFFFFFFFFFF)]",
  163. "[BinData(128, C406DE0000000000), BinData(128, C406DEFFFFFFFFFF)]",
  164. "[BinData(128, C406E10000000000), BinData(128, C406E1FFFFFFFFFF)]",
  165. "[BinData(128, C406E30000000000), BinData(128, C406E3FFFFFFFFFF)]",
  166. "[BinData(128, C406E40000000000), BinData(128, C406E7FFFFFFFFFF)]",
  167. "[BinData(128, C406F00000000000), BinData(128, C406F3FFFFFFFFFF)]",
  168. "[BinData(128, C406F40000000000), BinData(128, C406F7FFFFFFFFFF)]"
  169. ],
  170. "created_at" : [
  171. "[MaxKey, MinKey]"
  172. ]
  173. }
  174. }
  175. }
  176. }
  177. }
  178. ]
  179. },
  180. "serverInfo" : {
  181. "host" : "",
  182. "port" : ,
  183. "version" : "3.2.8",
  184. "gitVersion" : ""
  185. },
  186. "ok" : 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement