【发布时间】:2010-08-29 15:08:56
【问题描述】:
MongoDB 脚本的基础是什么?
我认为脚本将以.js 结尾,我们使用mongo try.js 运行它
但是如果我把
print(db.foo.find())
在try.js 并使用mongo try.js
它会说
MongoDB shell version: 1.6.1
connecting to: test
DBQuery: test.foo -> undefined
如果我通过输入mongo 来使用交互式外壳,然后输入
> db.foo.find()
{ "_id" : ObjectId("4c7a73428261000000003a7e"), "a" : 1 }
> print(db.foo.find())
DBQuery: test.foo -> undefined
{a : 1} 是我之前使用 db.foo.insert({a:1}) 插入的东西
执行 MongoDB 脚本的正确方法是什么,以及如何像 Ruby irb 或 Python 的 IDLE 那样打印出来?谢谢。 (Ruby的puts a.inspect或p a通常都可以打印出a的整个结构(a中的所有变量名和值))
alert(db.foo.find()) 和 console.log(db.foo.find()) 也不起作用。
【问题讨论】:
-
我发现如果不在 shell 中,我可以使用
printjson({hm:'yeah'})或db.foo.find().forEach(printjson)打印出来 -
虽然已经间接说明如下:对我来说重要的一课是将文件管道传输到 MongoDB,例如
mongo < script.txt允许使用 MongoDB-shell 命令,与mongo script.js不同