首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pymongo .eval()与Mongo shell --eval

Pymongo .eval()与Mongo shell --eval
EN

Stack Overflow用户
提问于 2015-07-09 23:48:29
回答 1查看 2K关注 0票数 2

在pymongo中使用.eval()时,这个命令的等价物是什么?

代码语言:javascript
复制
mongo localhost/mydb --quiet --eval "printjson(db.getCollectionNames())"

因为这似乎不起作用,而且不会返回任何内容:

代码语言:javascript
复制
from pymongo import MongoClient    
client = MongoClient("mongodb://localhost")
db = client.mydb     
myjs = "printjson(db.getCollectionNames())"
print db.eval(myjs)

是的,我知道db.collection_names()是如何工作的,我特别需要了解如何正确地用printjson() to pymongo.eval()`传递javascript,并得到与我从原始外壳命令中返回的相同的响应。

EN

回答 1

Stack Overflow用户

发布于 2015-07-17 06:40:48

这是因为您正在使用不是JavaScript函数的printjson()。请改用return

代码语言:javascript
复制
In [6]: c = Code("function(){return db.getCollectionNames()}")

In [7]: db.eval(c)
Out[7]: 
['bar',
 'baz',
 'col',
 'collection',
 'demo',
 'first_use',
 'sCriteria',
 'spam',
 'system.indexes',
 'test',
 'v']
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31322388

复制
相关文章

相似问题

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