, . cursor[0] cursor.toArray()[0]. , toArray() new Error().stack, . :
at DBQuery.a.toArray ((shell):1:32)
at DBQuery.arrayAccess (src/mongo/shell/query.js:290:17)
at (shell):1:2
, arrayAccess. ? dbQueryIndexAccess, arrayAccess.
v8::Handle<v8::Value> arrayAccess = info.This()->GetPrototype()->ToObject()->Get(
v8::String::New("arrayAccess"));
...
v8::Handle<v8::Function> f = arrayAccess.As<v8::Function>();
...
return f->Call(info.This(), 1, argv);
, . WOW, API v8 !
DBQueryFT()->InstanceTemplate()->SetIndexedPropertyHandler(dbQueryIndexAccess);
... JS, JS.
injectV8Function("DBQuery", DBQueryFT(), _global);
Tl; dr: ++ mongo.