MongoDB脚本的基础是什么?
我认为脚本将结束.js,我们使用它来运行它mongo try.js
但是,如果我把
print(db.foo.find())
Run Code Online (Sandbox Code Playgroud)
在try.js和使用mongo try.js
它会说
MongoDB shell version: 1.6.1
connecting to: test
DBQuery: test.foo -> undefined
Run Code Online (Sandbox Code Playgroud)
如果我通过键入mongo和键入使用交互式shell
> db.foo.find()
{ "_id" : ObjectId("4c7a73428261000000003a7e"), "a" : 1 }
> print(db.foo.find())
DBQuery: test.foo -> undefined
Run Code Online (Sandbox Code Playgroud)
这{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())也不会工作.
Nie*_*est 39
外部脚本文件在shell上下文之外执行.
的db.foo.find()数据库命令只返回一个光标; 它本身不打印任何东西.从shell发出命令时,shell将迭代游标并打印结果.从外部脚本文件运行命令时,不会打印任何内容.
该print()命令将打印出对象的字符串表示形式.在你的情况下,它是光标:
> print(db.foo.find())
DBQuery: test.foo -> undefined
Run Code Online (Sandbox Code Playgroud)
如果需要打印查询结果,则必须在脚本文件中迭代光标并打印每个结果,类似于shell的作用:
function printResult (r) {
print(tojson(r))
}
db.foo.find().forEach(printResult)
Run Code Online (Sandbox Code Playgroud)
dtb*_*rne 15
有一个用于打印json对象的内置函数.
只需附加.forEach(printjson)到函数调用的末尾.
db.foo.find().forEach(printjson);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16317 次 |
| 最近记录: |