MongoDB: Error executing stored JavaScript function MongoDB: Error executing stored JavaScript function mongodb mongodb

MongoDB: Error executing stored JavaScript function


The find() function returns a cursor, which can't be returned from JavaScript.The suggested workaround is to use toArray() to get an array return value.

Example ... before :

> use adminswitched to db admin> db.system.js.save( { _id : "foo", value: function(n){return db.system.indexes.find().limit(n)} } )         > db.eval( "foo(3)" )                                                                               { "value" : "DBQuery: admin.system.indexes -> undefined" }

just as you describe.
And after:

> db.system.js.save( { _id : "foo", value: function(n){return db.system.indexes.find().limit(n).toArray()} } )> db.eval( "foo(3)" )                                                                                         [        {                "name" : "_id_",                "ns" : "admin.system.users",                "key" : {                        "_id" : 1                }        },        {                "name" : "user_1",                "ns" : "admin.system.users",                "key" : {                        "user" : 1                },                "unique" : false        },        {                "name" : "_id_",                "ns" : "admin.whee",                "key" : {                        "_id" : 1                },                "v" : 0        }]