Created
June 12, 2011 21:00
-
-
Save bingomanatee/1021979 to your computer and use it in GitHub Desktop.
where does map_coords go
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var models_module = require(MVC_MODELS); | |
var Gate = require('util/gate'); | |
var map_reduce = require('./zoom_back_map_reduce'); | |
function _zoom(err, map_coords_model, map_id, map_data, map_mode, callback) { | |
console.log(__filename, ': _zoom() ##################'); | |
// var args = Array.prototype.slice.call(arguments, 0); | |
// console.log('arguments: ', args); | |
//FIRST ACTION : knock all the zooms back one | |
try { | |
// console.log(__filename, ': _zoom: map_coords_model = ', map_coords_model, ': map_id: ', map_id); | |
//THIRD ACTION: put the zoom points back to the map_coords collection | |
function _insert_new_data() { | |
console.log(__filename, ': _insert_new_data'); | |
gate = new Gate(callback); | |
function _insert_row(err, doc) { | |
if (doc) { | |
var new_point = { | |
map: map_id, | |
i: doc._id.i, | |
j: doc._id.j, | |
height: doc.height, | |
position: new Array() | |
}; | |
new_point.position.push(doc.position[0]); | |
new_point.posiiton.push(doc.position[1]) | |
gate.task_start(); | |
map_coords_model.insert(new_point, function() { | |
gate.task_done(); | |
}); | |
} else { | |
gate.start(); | |
} | |
} | |
function _insert_rows(err, cursor) { | |
cursor.each(_insert_row); | |
} | |
models_module.model('map_zoom', function(err, mz_model) { | |
mz_model.all(_insert_rows, { | |
cursor: true | |
}); | |
}) | |
} | |
//SECOND ACTION: note the zooms into a temporary collection | |
function _create_zoombacks() { | |
console.log(__filename, ': _create_zoombacks'); | |
var mr = map_reduce(map_id); | |
map_coords_model.config.db.runCommand(mr, _insert_new_data); | |
} | |
//FIRST ACTION UPDATE: | |
var zoominc = { "$inc": { zoom: 1 } }; | |
var filter = { map: map_id }; | |
if (!map_coords_model){ | |
map_coords_model = arguments[1]; | |
} | |
console.log(__filename,' : MAPCOOORDSMODEL:'); | |
console.log(map_coords_model); | |
map_coords_model.update(zoominc, _create_zoombacks, filter); | |
} catch (err) { | |
if (err) { | |
console.log(__filename, ': err ', err); | |
} | |
throw err; | |
} | |
} // end _zoom |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
where is map_coords going?
/Users/bingomanatee/Documents/Arena_colles/node/controllers/map/actions/zoom_back.js : zooming back ==================== from 4ddfb7d9ba36d54fad000001
BSONifying 4ddfb7d9ba36d54fad000001 , out = 4ddfb7d9ba36d54fad000001 : type = object
BSONifying 4ddfb7d9ba36d54fad000001 , out = 4ddfb7d9ba36d54fad000001 : type = object
/Users/bingomanatee/Documents/Arena_colles/node/models/maps/zoom_back.js : id: 4ddfb7d9ba36d54fad000001 , oid: 4ddfb7d9ba36d54fad000001 : zoom back start
NOT initializing model map_coords on_load
/Users/bingomanatee/Documents/Arena_colles/node/models/maps/zoom_back.js : _zoom() ##################
/Users/bingomanatee/Documents/Arena_colles/node/models/maps/zoom_back.js : MAPCOOORDSMODEL:
{ name: 'ac.map_coords',
all: [Function],
count: [Function],
_as_oid: [Function],
string_id: false,
get: [Function],
find_and_delete: [Function],
delete: [Function],
put: [Function],
insert: [Function],
soft_delete: false,
update: [Function],
find: [Function],
data: [],
config:
{ db:
{ databaseName: 'ac',
serverConfig: [Object],
options: [Object],
bson_serializer: [Object],
bson_deserializer: [Object],
connections: [Object],
state: 'connected',
pkFactory: [Object],
strict: false,
collectionName: undefined,
queryOptions: undefined,
numberToSkip: undefined,
numberToReturn: undefined,
query: undefined,
returnFieldSelector: undefined,
db: [Object],
_events: {},
version: '1.8.0' },
coll:
{ db: [Object],
collectionName: 'map_coords',
pkFactory: [Object],
hint: [Getter/Se
node.js:183
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Cannot call method 'update' of undefined
at _zoom (/Users/bingomanatee/Documents/Arena_colles/node/models/maps/zoom_back.js:69:26)
at /Users/bingomanatee/Documents/Arena_colles/node/models/maps/zoom_back.js:86:13