diff options
author | Shaun Verch <shaun.verch@10gen.com> | 2012-10-21 10:05:36 -0700 |
---|---|---|
committer | Shaun Verch <shaun.verch@10gen.com> | 2012-11-21 17:26:27 -0800 |
commit | 7582d50b18dedef00b605f8a44cd11d267be540c (patch) | |
tree | 74e66fcf66975dbabe23cd129a72f5d763bcb7b7 | |
parent | fa64548884d610ebee36c52e75425117dcb4f512 (diff) | |
download | mongo-7582d50b18dedef00b605f8a44cd11d267be540c.tar.gz |
SERVER-7437 Fixed handling of timestamp object in jsonString
-rw-r--r-- | src/mongo/db/jsobj.cpp | 7 | ||||
-rw-r--r-- | src/mongo/dbtests/jsontests.cpp | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/mongo/db/jsobj.cpp b/src/mongo/db/jsobj.cpp index 83c4482f27f..f8931a72d11 100644 --- a/src/mongo/db/jsobj.cpp +++ b/src/mongo/db/jsobj.cpp @@ -242,7 +242,12 @@ namespace mongo { break; case Timestamp: - s << "{ \"t\" : " << timestampTime() << " , \"i\" : " << timestampInc() << " }"; + if ( format == TenGen ) { + s << "Timestamp( " << ( timestampTime() / 1000 ) << ", " << timestampInc() << " )"; + } + else { + s << "{ \"$timestamp\" : { \"t\" : " << ( timestampTime() / 1000 ) << ", \"i\" : " << timestampInc() << " } }"; + } break; case MinKey: diff --git a/src/mongo/dbtests/jsontests.cpp b/src/mongo/dbtests/jsontests.cpp index 82e6963767d..a05c8d1a7df 100644 --- a/src/mongo/dbtests/jsontests.cpp +++ b/src/mongo/dbtests/jsontests.cpp @@ -357,7 +357,11 @@ namespace JsonTests { BSONObjBuilder b; b.appendTimestamp( "x" , 4000 , 10 ); BSONObj o = b.obj(); - ASSERT_EQUALS( "{ \"x\" : { \"t\" : 4000 , \"i\" : 10 } }" , o.jsonString() ); + ASSERT_EQUALS( "{ \"x\" : { \"$timestamp\" : { \"t\" : 4, \"i\" : 10 } } }", + o.jsonString( Strict ) ); + ASSERT_EQUALS( "{ \"x\" : { \"$timestamp\" : { \"t\" : 4, \"i\" : 10 } } }", + o.jsonString( JS ) ); + ASSERT_EQUALS( "{ \"x\" : Timestamp( 4, 10 ) }", o.jsonString( TenGen ) ); } }; |