Details
-
Bug
-
Resolution: Done
-
Major - P3
-
2.4.0-rc0
-
None
-
None
-
ALL
Description
Using this:
t = new ToolTest( "jsonparser" ); |
|
|
c = t.startDB("testcollection"); |
|
|
data = 'data/jsonparser'; |
|
|
key = "bindata"; |
key_value = BinData(5, "nhB9nTcrtoJr2B01QqQZ1g=="); |
c=t.db.getCollection("testcollection"); |
// true is to enable field names to start with $
|
// e.g. $undefined
|
c.insert({key: key_value}, true); |
t.runTool( "export" , "--version"); |
t.runTool( "export" , "--out" , data , "-d" , t.baseName, "-c" , "testcollection"); |
c.drop();
|
assert.eq( 0 , c.count() , "after drop" ); |
t.runTool( "import" , "--version"); |
t.runTool( "import" , "--file" , data , "-d" , t.baseName, "-c" , "testcollection2"); |
c2=t.db.getCollection("testcollection2"); |
assert.soon( "c2.findOne()" , "read imported document" ); |
assert.eq( 1 , c2.count() , "1 doc after import" ); |
|
|
var doc = c2.findOne(); |
assert.eq( key_value , doc.key , "assert data type" ); |
|
|
c2.drop();
|
assert.eq( 0 , c2.count() , "after drop" ); |
It works fine on 2.2.2.
But not on 2.3.2 and 2.4.0-rc0
assert: [BinData(5,"nhB9nTcrtoJr2B01QqQZ1g==")] != [BinData(5,"77+9EH3vv703K++/ve+/vQ==")] are not equal : assert data type
|
Error: Printing Stack Trace
|
at printStackTrace (src/mongo/shell/utils.js:37:7)
|
at doassert (src/mongo/shell/assert.js:6:1)
|
at Function.assert.eq (src/mongo/shell/assert.js:32:1)
|
at test_round_trip (jsonparser-undefined.js:22:16)
|
at jsonparser-undefined.js:31:1
|
Wed Feb 20 16:38:16.332 [BinData(5,"nhB9nTcrtoJr2B01QqQZ1g==")] != [BinData(5,"77+9EH3vv703K++/ve+/vQ==")] are not equal : assert data type src/mongo/shell/assert.js:7
|
failed to load: jsonparser-undefined.js
|
mongoimport and mongoexport v2.4.0-rc0
commandline:
mongodb-osx-x86_64-2.4.0-rc0/bin/mongo --nodb --norc jsonparser.js
mongoexport is saving
{ "_id" : { "$oid" : "5124fd42876fdb24f52e5722" }, "bindata" : { "$binary" : "nhB9nTcrtoJr2B01QqQZ1g==", "$type" : "05" } }
|
but after running mongoimport, this is what appears on the shell
{
|
"_id": ObjectId("512503b4c35f6f6101d2b9c6"),
|
"key": BinData(5, "77+9EH3vv703K++/ve+/vQ==")
|
}
|
note: even the objectid is different
This doesn't occur with MaxKey(), NumberLong()
Attachments
Issue Links
- is related to
-
SERVER-8297 Remove three argument constructor from the V8 version of BinData
-
- Closed
-