summaryrefslogtreecommitdiff
path: root/db/dbeval.cpp
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2009-09-21 15:54:41 -0400
committerEliot Horowitz <eliot@10gen.com>2009-09-21 15:54:41 -0400
commitdcbe8fbd95f25ec5edd4331b6ad2fc7d14a09033 (patch)
treec06ec223a20a1fbc3c6236d715fa2b45c347e1fd /db/dbeval.cpp
parentc2456cf402045dbee76f1410a7e05022aec4ffff (diff)
downloadmongo-dcbe8fbd95f25ec5edd4331b6ad2fc7d14a09033.tar.gz
handle js -> bson in 1 place
Diffstat (limited to 'db/dbeval.cpp')
-rw-r--r--db/dbeval.cpp23
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;
}