mongodb
Advanced tools
Comparing version 0.9.6-13 to 0.9.6-14
@@ -164,2 +164,3 @@ /** | ||
var self = this; | ||
var errorOptions = options.safe != null ? options.safe : null; | ||
@@ -193,3 +194,3 @@ errorOptions = errorOptions == null && this.opts.safe != null ? this.opts.safe : errorOptions; | ||
} else if (error[0].err) { | ||
callback(this.wrap(error[0])); | ||
callback(self.db.wrap(error[0])); | ||
} else { | ||
@@ -273,2 +274,3 @@ callback(null, error[0].n); | ||
var self = this; | ||
// Collect errorOptions | ||
@@ -307,3 +309,3 @@ var errorOptions = options.safe != null ? options.safe : null; | ||
} else if (error[0].err) { | ||
callback(this.wrap(error[0])); | ||
callback(self.db.wrap(error[0])); | ||
} else { | ||
@@ -387,2 +389,3 @@ callback(null, docs); | ||
var self = this; | ||
// Unpack the error options if any | ||
@@ -417,3 +420,3 @@ var errorOptions = (options && options.safe != null) ? options.safe : null; | ||
} else if (error[0].err) { | ||
callback(this.wrap(error[0])); | ||
callback(self.db.wrap(error[0])); | ||
} else { | ||
@@ -533,3 +536,2 @@ callback(null, error[0].n); | ||
*/ | ||
Collection.prototype.findAndModify = function findAndModify (query, sort, doc, options, callback) { | ||
@@ -541,2 +543,3 @@ var args = Array.prototype.slice.call(arguments, 1); | ||
options = args.length ? args.shift() : {}; | ||
var self = this; | ||
@@ -560,10 +563,35 @@ var queryObject = { | ||
} | ||
// Unpack the error options if any | ||
var errorOptions = (options && options.safe != null) ? options.safe : null; | ||
errorOptions = errorOptions == null && this.opts.safe != null ? this.opts.safe : errorOptions; | ||
errorOptions = errorOptions == null && this.db.strict != null ? this.db.strict : errorOptions; | ||
var commandOptions = errorOptions != null ? {safe:errorOptions} : {}; | ||
this.db.executeDbCommand(queryObject, function (err, result) { | ||
this.db.executeDbCommand(queryObject, commandOptions, function (err, result) { | ||
result = result && result.documents; | ||
if(!callback) return; | ||
// | ||
// if (err) { | ||
// callback(err); | ||
// } else if (error[0].err) { | ||
// callback(self.db.wrap(error[0])); | ||
// } else { | ||
// callback(null, error[0].n); | ||
// } | ||
// | ||
// debug("-------------------------------------------------- hello") | ||
// debug(inspect(err)) | ||
// debug(inspect(result)) | ||
if (err) { | ||
callback(err); | ||
} else if (result.documents[0].ok != 1) { | ||
callback(new Error(result.documents[0].errmsg)); | ||
} else if (result[0].err) { | ||
callback(self.db.wrap(result[0])); | ||
} else if (result[0].n) { | ||
callback(null, result[0].n); | ||
} else if (result[0].ok != 1) { | ||
callback(new Error(result[0].errmsg)); | ||
} else { | ||
callback(err, result.documents[0].value) | ||
callback(err, result[0].value) | ||
} | ||
@@ -570,0 +598,0 @@ }); |
@@ -125,3 +125,3 @@ var net = require('net'), | ||
connection.addListener("connect", function() { | ||
// // this.setEncoding("binary"); | ||
// this.setEncoding("binary"); | ||
this.setTimeout(0); | ||
@@ -128,0 +128,0 @@ this.setNoDelay(); |
@@ -23,6 +23,6 @@ var Connection = require('../connection').Connection, | ||
this.options = options == null ? {} : options; | ||
this.reconnectWait = options["reconnectWait"] != null ? options["reconnectWait"] : 1000; | ||
this.retries = options["retries"] != null ? options["retries"] : 30; | ||
this.reconnectWait = this.options["reconnectWait"] != null ? this.options["reconnectWait"] : 1000; | ||
this.retries = this.options["retries"] != null ? this.options["retries"] : 30; | ||
// Set up internal state variables | ||
this.replicaSet = options["rs_name"]; | ||
this.replicaSet = this.options["rs_name"]; | ||
// Keep references to node types for caching purposes | ||
@@ -32,3 +32,3 @@ this.secondaries = []; | ||
// Are we allowing reads from secondaries ? | ||
this.readSecondary = options["read_secondary"]; | ||
this.readSecondary = this.options["read_secondary"]; | ||
this.slaveOk = this.readSecondary; | ||
@@ -35,0 +35,0 @@ this.otherErrors = []; |
@@ -123,3 +123,3 @@ var QueryCommand = require('./commands/query_command').QueryCommand, | ||
var items = []; | ||
this.each(function(err, item) { | ||
@@ -600,3 +600,7 @@ if(err != null) return callback(err, null); | ||
self.db.executeCommand(command, {read:true}, function(err,result) { | ||
if(err != null) return callback(err, null); | ||
if(err) { | ||
stream.emit('error', err); | ||
self.close(function(){}); | ||
return; | ||
} | ||
@@ -622,5 +626,7 @@ if (!self.queryRun && result) { | ||
else { | ||
stream.emit('end', recordLimitValue); | ||
self.close(function(){ | ||
stream.emit('end', recordLimitValue); | ||
}); | ||
self.close(function(){}); | ||
return(null); | ||
return; | ||
} | ||
@@ -627,0 +633,0 @@ } |
@@ -59,3 +59,2 @@ var QueryCommand = require('./commands/query_command').QueryCommand, | ||
for(var i = 0; i < authLength; i++) { | ||
// Execute auth commands | ||
@@ -104,8 +103,8 @@ self.authenticate(self.auths[i].username, self.auths[i].password, function(err, result) { | ||
Db.prototype.close = function(callback) { | ||
// Remove all listeners | ||
this.removeAllListeners("reconnect"); | ||
// Remove all listeners and close the connection | ||
this.serverConfig.removeAllListeners("reconnect"); | ||
this.serverConfig.close(callback); | ||
// Clear out state of the connection | ||
this.state = "notConnected" | ||
// Close connection | ||
this.serverConfig.close(callback); | ||
this.state = "notConnected"; | ||
}; | ||
@@ -387,3 +386,3 @@ | ||
// Check if we have the name | ||
this.collectionNames(collectionName, function(err, collections) { | ||
this.collectionNames(collectionName, function(err, collections) { | ||
if(err != null) return callback(err, null); | ||
@@ -483,4 +482,5 @@ | ||
**/ | ||
Db.prototype.executeDbCommand = function(command_hash, callback) { | ||
this.executeCommand(DbCommand.createDbCommand(this, command_hash), callback); | ||
Db.prototype.executeDbCommand = function(command_hash, options, callback) { | ||
if(callback == null) { callback = options; options = {}; } | ||
this.executeCommand(DbCommand.createDbCommand(this, command_hash), options, callback); | ||
}; | ||
@@ -672,3 +672,3 @@ | ||
} else { | ||
writer.send(db_command, rawConnection) | ||
writer.send(db_command, rawConnection); | ||
} | ||
@@ -702,3 +702,3 @@ } catch (err) { | ||
} else { | ||
writer.send(db_command, rawConnection) | ||
writer.send(db_command, rawConnection); | ||
} | ||
@@ -705,0 +705,0 @@ } |
{ "name" : "mongodb" | ||
, "description" : "A node.js driver for MongoDB" | ||
, "keywords" : ["mongodb", "mongo", "driver", "db"] | ||
, "version" : "0.9.6-13" | ||
, "version" : "0.9.6-14" | ||
, "author" : "Christian Amor Kvalheim <christkv@gmail.com>" | ||
@@ -6,0 +6,0 @@ , "contributors" : [ "Aaron Heckmann", |
@@ -54,3 +54,3 @@ Install | ||
var idString = '4e4e1638c85e808431000003'; | ||
collection.findOne({_id: new client.bson_serializer.ObjectId(idString)}, console.log) // ok | ||
collection.findOne({_id: new client.bson_serializer.ObjectID(idString)}, console.log) // ok | ||
collection.findOne({_id: idString}, console.log) // wrong! callback gets undefined | ||
@@ -113,8 +113,2 @@ | ||
Notes | ||
======== | ||
The current version does not support connection pooling, but it will be implemented | ||
soon. | ||
Primary Key Factories | ||
@@ -121,0 +115,0 @@ -------- |
@@ -111,3 +111,3 @@ var mongodb = process.env['TEST_NATIVE'] != null ? require('../../lib/mongodb').native() : require('../../lib/mongodb').pure(); | ||
BSONSE.BSON.serializeWithBufferAndIndex(test_string, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
@@ -121,7 +121,7 @@ test.deepEqual(test_string, BSONDE.BSON.deserialize(serialized_data)); | ||
var serialized_data = BSONSE.BSON.serialize(test_number, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(test_number)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(test_number, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
test.deepEqual(test_number, BSONDE.BSON.deserialize(serialized_data)); | ||
@@ -134,7 +134,7 @@ test.done(); | ||
var serialized_data = BSONSE.BSON.serialize(test_null, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(test_null)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(test_null, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var object = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -148,7 +148,7 @@ test.equal(null, object.doc); | ||
var serialized_data = BSONSE.BSON.serialize(test_number, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(test_number)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(test_number, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
test.deepEqual(test_number, BSONDE.BSON.deserialize(serialized_data)); | ||
@@ -161,3 +161,3 @@ test.done(); | ||
var serialized_data = BSONSE.BSON.serialize(test_int, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(test_int)); | ||
@@ -170,3 +170,3 @@ BSONSE.BSON.serializeWithBufferAndIndex(test_int, false, serialized_data2); | ||
serialized_data = BSONSE.BSON.serialize(test_int, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(test_int)); | ||
@@ -179,3 +179,3 @@ BSONSE.BSON.serializeWithBufferAndIndex(test_int, false, serialized_data2); | ||
serialized_data = BSONSE.BSON.serialize(test_int, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(test_int)); | ||
@@ -188,3 +188,3 @@ BSONSE.BSON.serializeWithBufferAndIndex(test_int, false, serialized_data2); | ||
serialized_data = BSONSE.BSON.serialize(test_int, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(test_int)); | ||
@@ -214,7 +214,7 @@ BSONSE.BSON.serializeWithBufferAndIndex(test_int, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -232,7 +232,7 @@ test.equal(doc.doc[0], deserialized.doc[0]) | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -249,3 +249,3 @@ test.equal(doc.doc[0], deserialized.doc[0]) | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
@@ -262,3 +262,3 @@ BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
@@ -283,3 +283,3 @@ BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
@@ -310,7 +310,7 @@ BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
test.done(); | ||
@@ -323,3 +323,3 @@ }, | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
@@ -336,3 +336,3 @@ BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
@@ -349,7 +349,7 @@ BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var decoded_hash = BSONDE.BSON.deserialize(serialized_data).doc; | ||
@@ -367,7 +367,7 @@ var keys = []; | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var doc2 = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -387,7 +387,7 @@ | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -404,7 +404,7 @@ test.deepEqual(doc.doc.value(), deserialized_data.doc.value()); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -419,3 +419,3 @@ test.deepEqual(doc.doc.value(), deserialized_data.doc.value()); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
@@ -435,7 +435,7 @@ BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var doc2 = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -451,7 +451,7 @@ test.equal('something', doc2.name); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var doc2 = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -465,7 +465,7 @@ test.deepEqual(doc.doc, doc2.doc) | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -490,7 +490,7 @@ test.deepEqual(doc.doc, deserialized_data.doc); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -517,7 +517,7 @@ test.deepEqual(doc.doc, deserialized_data.doc); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -542,7 +542,7 @@ test.deepEqual(doc.doc, deserialized_data.doc); | ||
var serialized_data = BSONSE.BSON.serialize(test_int, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(test_int)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(test_int, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -556,7 +556,7 @@ test.deepEqual(test_int.doc, deserialized_data.doc); | ||
var serialized_data = BSONSE.BSON.serialize(hash, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(hash)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(hash, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -583,3 +583,3 @@ var keys = []; | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
@@ -598,7 +598,7 @@ BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -616,7 +616,7 @@ test.deepEqual(doc.doc.doc2.code, deserialized_data.doc.doc2.code); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -632,7 +632,7 @@ test.deepEqual(doc.a, deserialized_data.a); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -646,7 +646,7 @@ test.deepEqual(doc, deserialized_data); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -660,7 +660,7 @@ test.deepEqual(doc, deserialized_data); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -674,7 +674,7 @@ test.deepEqual(doc, deserialized_data); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -690,7 +690,7 @@ test.deepEqual(doc.b, deserialized_data.b) | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -707,7 +707,7 @@ test.deepEqual(doc.b, deserialized_data.b) | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var deserialized_data = BSONDE.BSON.deserialize(serialized_data); | ||
@@ -769,7 +769,7 @@ test.deepEqual(doc, deserialized_data); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var serialized_data2 = BSONDE.BSON.serialize(doc2, false, true); | ||
@@ -797,3 +797,3 @@ | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
@@ -826,7 +826,7 @@ BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var serialized_data2 = BSONDE.BSON.serialize(doc2, false, true); | ||
@@ -840,7 +840,7 @@ test.done(); | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var serialized_data2 = BSONDE.BSON.serialize(doc, false, true); | ||
@@ -859,7 +859,7 @@ | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var doc2 = BSONSE.BSON.deserialize(serialized_data); | ||
@@ -882,7 +882,7 @@ | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var doc2 = BSONSE.BSON.deserialize(serialized_data); | ||
@@ -905,7 +905,7 @@ | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var doc2 = BSONSE.BSON.deserialize(serialized_data); | ||
@@ -943,15 +943,25 @@ test.deepEqual(doc, doc2) | ||
var doc = {value:doubleValue}; | ||
// Serialize | ||
var serialized_data = BSONSE.BSON.serialize(doc, false, true); | ||
var serialized_data2 = new Buffer(BSONSE.BSON.calculateObjectSize(doc)); | ||
BSONSE.BSON.serializeWithBufferAndIndex(doc, false, serialized_data2); | ||
assertBuffersEqual(test, serialized_data, serialized_data2); | ||
var doc2 = BSONSE.BSON.deserialize(serialized_data); | ||
test.deepEqual({value:100}, doc2); | ||
} | ||
test.done(); | ||
}, | ||
'Should Correctly deserialize a message' : function(test) { | ||
var data = "24000000be00de4428000000010000000800000000000000000000000000000000000000"; | ||
var parent = {bson_deserializer:{"Long":Long, "BSON":BSONSE.BSON}} | ||
var binaryData = new Buffer(hexStringToBinary(data)); | ||
test.done(); | ||
var doc2 = new MongoReply(parent, binaryData); | ||
test.deepEqual([], doc2.documents); | ||
test.done(); | ||
} | ||
@@ -958,0 +968,0 @@ }); |
@@ -948,2 +948,31 @@ var testCase = require('../deps/nodeunit').testCase, | ||
}); | ||
}, | ||
shouldCorrectlyInsert5000RecordsWithDateAndSortCorrectlyWithIndex : function(test) { | ||
var docs = []; | ||
for(var i = 0; i < 5000; i++) { | ||
var d = new Date().getTime() + i*1000; | ||
docs[i] = {createdAt:new Date(d)}; | ||
} | ||
// Create collection | ||
client.createCollection('shouldCorrectlyInsert5000RecordsWithDateAndSortCorrectlyWithIndex', function(err, collection) { | ||
// ensure index of createdAt index | ||
collection.ensureIndex({createdAt:1}, function(err, indexName) { | ||
test.equal(null, err); | ||
// insert all docs | ||
collection.insert(docs, {safe:true}, function(err, result) { | ||
test.equal(null, err); | ||
// Find with sort | ||
collection.find().sort(['createdAt', 'asc']).toArray(function(err, items) { | ||
if (err) logger.error("error in collection_info.find: " + err); | ||
test.equal(5000, items.length); | ||
test.done(); | ||
}) | ||
}) | ||
}); | ||
}); | ||
} | ||
@@ -950,0 +979,0 @@ }) |
@@ -589,5 +589,4 @@ var mongodb = process.env['TEST_NATIVE'] != null ? require('../lib/mongodb').native() : require('../lib/mongodb').pure(); | ||
// Let's modify the document in place | ||
collection.findAndModify({'a':2}, [['a', 1]], {'$set':{'b':3}}, {safe:true}, function(err, updated_doc) { | ||
test.equal(2, updated_doc.a); | ||
test.equal(2, updated_doc.b); | ||
collection.findAndModify({'a':2}, [['a', 1]], {'$set':{'b':3}}, {safe:true}, function(err, result) { | ||
test.equal(1, result); | ||
}) | ||
@@ -775,3 +774,3 @@ }); | ||
}, | ||
'Should correctly pass timeout options to cursor' : function(test) { | ||
@@ -788,6 +787,28 @@ client.createCollection('timeoutFalse', function(err, collection) { | ||
}); | ||
test.done(); | ||
}); | ||
} | ||
}, | ||
// Test findAndModify a document | ||
shouldCorrectlyFindAndModifyDocumentWithDBStrict : function(test) { | ||
var p_client = new Db(MONGODB, new Server("127.0.0.1", 27017, {auto_reconnect: true}), {strict:true, native_parser: (process.env['TEST_NATIVE'] != null)}); | ||
p_client.bson_deserializer = client.bson_deserializer; | ||
p_client.bson_serializer = client.bson_serializer; | ||
p_client.pkFactory = client.pkFactory; | ||
p_client.open(function(err, p_client) { | ||
p_client.createCollection('shouldCorrectlyFindAndModifyDocumentWithDBStrict', function(err, collection) { | ||
// Test return old document on change | ||
collection.insert({'a':2, 'b':2}, function(err, doc) { | ||
// Let's modify the document in place | ||
collection.findAndModify({'a':2}, [['a', 1]], {'$set':{'b':3}}, function(err, result) { | ||
test.equal(1, result); | ||
p_client.close(); | ||
test.done(); | ||
}) | ||
}); | ||
}); | ||
}); | ||
}, | ||
}) | ||
@@ -794,0 +815,0 @@ |
@@ -452,3 +452,3 @@ var debug = require('util').debug, | ||
// var db = new Db('node-mongo-blog', new Server(host, port, {}), {native_parser:true}); | ||
var connection = new Db("", new Server(this.host, this.mongods[node]["port"], {})); | ||
var connection = new Db("replicaset_test", new Server(this.host, this.mongods[node]["port"], {})); | ||
connection.open(function(err, connection) { | ||
@@ -455,0 +455,0 @@ // We need to retry if we have not finished up the number of retries |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1546636
24735
179
400