首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB - eval .db.eval

MongoDB - eval .db.eval
EN

Stack Overflow用户
提问于 2014-09-07 19:27:58
回答 1查看 2.9K关注 0票数 0

我在system.js集合中有一个简单的存储脚本,名为getAllNotes。

脚本代码:function (x) { return db.notes.find(); }

便笺是保存我想要提取的数据的集合。

eval('getAllNotes()') -工作正常,并返回数据。

db.eval('getAllNotes()') -返回一个包含各种配置的JSON,该字符串与我的集合无关,参见下面。有什么想法吗?有人知道执行eval和db.eval之间的区别吗?

代码语言:javascript
复制
 "_mongo" : {
               "slaveOk" : false,
               "host" : "EMBEDDED"
       },
       "_db" : {
               "_mongo" : {
                       "slaveOk" : false,
                       "host" : "EMBEDDED"
               },
               "_name" : "test"
       },
       "_collection" : {
               "_mongo" : {
                       "slaveOk" : false,
                       "host" : "EMBEDDED"
               },
               "_db" : {
                       "_mongo" : {
                               "slaveOk" : false,
                               "host" : "EMBEDDED"
                       },
                       "_name" : "test"
               },
               "_shortName" : "notes",
               "_fullName" : "test.notes"
       },
       "_ns" : "test.notes",
       "_query" : {

       },
       "_fields" : null,
       "_limit" : 0,
       "_skip" : 0,
       "_batchSize" : 0,
       "_options" : 0,
       "_cursor" : null,
       "_numReturned" : 0,
       "_special" : false
EN

回答 1

Stack Overflow用户

发布于 2014-09-08 07:24:28

eval接受它执行的一串代码。

db.eval,根据文档,接受要调用的函数和传递给该函数的参数列表。换句话说,在这里去掉单引号'

代码语言:javascript
复制
db.eval(getAllNotes())

至于两者之间的区别,文档也指出:

mongo中的助手db.eval()包装eval命令。因此,helper方法共享底层命令的特性和行为,但有一个例外:db.eval()方法不支持nolock选项。

医生。在要求别人为你做这件事之前,要学习一些重要的东西。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25713955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档