find()関数は、JavaScriptから返されないカーソルを返します。 suggested workaroundは、配列の戻り値を取得するためにtoArray()を使用します。
例...前:
> use admin
switched 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" }
あなたが記述と同じように。
以降:
> 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
}
]
これは素晴らしいです。どうもありがとうございました。 – Zeck
よろしくお願いします!うれしい私は助けることができます。 :) – dampier