chrome console下编写javascript代码,要想换行按哪个键?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chrome console下编写javascript代码,要想换行按哪个键?相关的知识,希望对你有一定的参考价值。

    console中输入的代码都是立即执行的,按回车就执行。

    事实上,javascript代码中是没有一般意义上的“行”的概念的,分号才是真正的换行标志,所以如果你想输入多行代码,可以用分号隔开,如 a=1; b=2。一定要换行,可以按shift+Enter。

    Javascript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言。它已经由欧洲电脑制造商协会通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。        

    JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。 JavaScript虽与Java有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响。在语法结构上它又与C语言有很多相似(例如if条件语句、while循环、switch语句、do-while循环等)。

参考技术A 换行用 shift+enter

如何在不超过最大文档大小的情况下编写聚合?

【中文标题】如何在不超过最大文档大小的情况下编写聚合?【英文标题】:How could I write aggregation without exceeds maximum document size? 【发布时间】:2015-06-21 01:56:42 【问题描述】:

我通过如下查询得到exceeds maximum document size problem异常,

pipe = [
    "$match":  "birthday":"$gte":datetime.datetime(1987, 1, 1, 0, 0) 
    ]
res =db.patients.aggregate(pipe,allowDiskUse=True)

我通过添加 $project 运算符来修复它,

但是,即使我使用$project,文件仍然超过16MB 怎么办?

我能做什么?任何想法 ?谢谢

pipe = [
    "$project": "birthday":1, "id":1
    ,
    "$match":  "birthday":"$gte":datetime.datetime(1987, 1, 1, 0, 0) 
     
    ]
res =db.patients.aggregate(pipe,allowDiskUse=True)

异常

OperationFailure: command SON([('aggregate', 'patients'), ('pipeline', ['$match': 'birthday': '$gte': datetime.datetime(1987, 1, 1, 0, 0)]), ('allowDiskUse', True)]) on namespace tw_insurance_security_development.$cmd failed: exception: aggregation result exceeds maximum document size (16MB)

【问题讨论】:

【参考方案1】:

默认情况下,聚合结果在单个 BSON 文档中返回给您,这是大小限制的来源。如果您需要返回更多,您可以:

将结果输出到集合中。为此,您可以使用

完成管道

"$out": "some-collection-name"

然后您可以正常查询该集合(完成后您需要自己删除它)

通过在调用聚合时指定useCursor=True 将结果作为游标返回。

这两个选项都需要 mongodb 2.6:如果您仍在运行 mongodb 2.4,那么这只是聚合的基本限制。

【讨论】:

你会这么好心并给出一个小的Java示例或至少一个源代码吗?最佳 抱歉 - 我不熟悉 Java mongo API 感谢您的快速响应。我找到了一个解决方案(使用 spring 数据和 mongoDB):List<DBObject> pipeline = new ArrayList<>(); DBObject someMatchCriteria = new BasicDBObject(); someMatchCriteria.put("param", "value"); DBObject out = new BasicDBObject(); out.put("$out", "outCollectionName"); pipeline.add(new BasicDBObject("$match", someMatchCriteria)); pipeline.add(out); mongoOperations.getCollection("inCollectionName").aggregate(pipeline);【参考方案2】:

正如@Frederick 所说,至少需要 mongo 2.6,为了进一步参考,here 是来自 mongo 文档的链接,其工作方式类似于 runCommand 方式,但使用 db.collection.aggreagate,请注意,对于文档限制,请使用“光标”选项,排序限制使用“allowDiskUse”选项。

【讨论】:

【参考方案3】:

您可以使用aggregateCursor(collection_name, $pipeLine, ["useCursor" => true])

pipe = [
    "$match":  "birthday":"$gte":datetime.datetime(1987, 1, 1, 0, 0) 
    ]
res =db.patients.aggregateCursor(collection_name, pipe, ["useCursor" => true]);
        
$ret = [];

foreach ($taskList as $task)
  array_push($ret, $task);

        
return $ret;

【讨论】:

【参考方案4】:

使用下面的sn -p

db.patients.runCommand('aggregate', 
        pipeline: [
    "$project": "birthday":1, "id":1,
    "$match":  "birthday":"$gte":datetime.datetime(1987, 1, 1, 0, 0) 
], 
        allowDiskUse: true)

此处的 allowDiskUse 将有助于找出超过 16 MB 的数据

【讨论】:

其实我已经启用了allowDiskUse选项,但是还是不行

以上是关于chrome console下编写javascript代码,要想换行按哪个键?的主要内容,如果未能解决你的问题,请参考以下文章

你不知道的Chrome

C#初识

怎样监听前端的console 并输出

怎么编译Chrome for Android

Chrome:console.log、console.debug 不工作

在不违反 SRP、OCP、DRY 的情况下编写测试