Skip to content

Instantly share code, notes, and snippets.

@bingomanatee
Created June 12, 2011 21:00
Show Gist options
  • Save bingomanatee/1021979 to your computer and use it in GitHub Desktop.
Save bingomanatee/1021979 to your computer and use it in GitHub Desktop.
where does map_coords go
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
@bingomanatee
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment