diff options
author | Eliot Horowitz <eliot@10gen.com> | 2009-09-21 15:54:41 -0400 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2009-09-21 15:54:41 -0400 |
commit | dcbe8fbd95f25ec5edd4331b6ad2fc7d14a09033 (patch) | |
tree | c06ec223a20a1fbc3c6236d715fa2b45c347e1fd /db/dbeval.cpp | |
parent | c2456cf402045dbee76f1410a7e05022aec4ffff (diff) | |
download | mongo-dcbe8fbd95f25ec5edd4331b6ad2fc7d14a09033.tar.gz |
handle js -> bson in 1 place
Diffstat (limited to 'db/dbeval.cpp')
-rw-r--r-- | db/dbeval.cpp | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/db/dbeval.cpp b/db/dbeval.cpp index f7fff2517c0..9a931b7b7eb 100644 --- a/db/dbeval.cpp +++ b/db/dbeval.cpp @@ -99,28 +99,9 @@ namespace mongo { errmsg += s->getError(); return false; } + + s->append( result , "retval" , "return" ); - int type = s->type("return"); - if ( type == Object ) - result.append("retval", s->getObject("return")); - else if ( type == Array ) - result.appendArray("retval", s->getObject("return")); - else if ( type == NumberDouble ) - result.append("retval", s->getNumber("return")); - else if ( type == String ) - result.append("retval", s->getString("return").c_str()); - else if ( type == Bool ) - result.appendBool("retval", s->getBoolean("return")); - else if ( type == jstNULL || type == Undefined ) - result.appendNull("retval"); - else if ( type == Date ) - result.appendDate( "retval" , (unsigned long long) s->getNumber( "return" ) ); - else { - stringstream temp; - temp << "can't handle return type from db.eval:"; - temp << type; - uassert( temp.str() , 0 ); - } return true; } |