MongoDB shell:打印到控制台而没有尾随换行符?

时间:2012-07-04 23:12:48

标签: javascript shell mongodb stdout

有没有办法在没有来自Mongo shell的尾随换行符的情况下写入STDOUT?我似乎找不到print()可用的其他内容。

3 个答案:

答案 0 :(得分:3)

这与我在reading a line from the console上提出的问题有关。根据Per @ Stennie的评论,在当前(2.0.6)版本的Mongo shell中是不可能的。

答案 1 :(得分:1)

可能有一些解决方法。您可以将结果累加到中间变量(可以是数组,字符串或任何其他数据结构)中,然后在一行中打印整个内容。下面的示例说明如何使用数组从查询结果中捕获值,然后将数组转换为以逗号为分隔符的字符串。就我而言,我仅对_id字段感兴趣:

var cursor = db.getCollection('<collection name>').find(<your query goes here>)
let values = []
cursor.forEach((doc) => values.push(doc._id))
print(values.join(','))

根据您期望的结果数量,不确定中间数据结构消耗的空间是否会淹没内存。如果是这样的话,可以使查询返回较小的数据子集,这些子集加在一起便构成了您想要的完整结果集。

答案 2 :(得分:-3)

这是一个非常古老的问题,但仍然相关,所以回答。

可以使用printjsononeline()。