小编Amo*_*rni的帖子

Node.js res.setHeader('content-type','text/javascript'); 将响应javascript推送为文件下载

场景:考虑以下代码,将JavaScript作为Node.JS服务器的响应.

var http = require('http');

http.createServer(function (req, res) {
var JS_Script = 'function Test() { alert("test success")}';
res.setHeader('content-type', 'text/javascript');
res.end(JS_Script);
}).listen(8811);
Run Code Online (Sandbox Code Playgroud)

问题:强制浏览器下载文件.

问题:如何在浏览器上进行渲染?

注意:使用相同的.net Web服务HTTP-header: 'content-type', 'text/javascript'

因此,其明确的以下陈述并不成立.
如果您希望Web浏览器呈现HTML,则应将其更改为:

Content-Type: text/html
Run Code Online (Sandbox Code Playgroud)

更新:在content-type下载期间检查它application/octet-stream

但是当我用curl命中一个请求时,以下是输出:

C:\>curl -is http://localhost:8811/
HTTP/1.1 200 OK
Content-Type: text/javascript
Content-Length: 166
Date: Tue, 09 Apr 2013 10:31:32 GMT
Connection: keep-alive

function Test() { alert("test success")}
Run Code Online (Sandbox Code Playgroud)

node.js

26
推荐指数
2
解决办法
10万
查看次数

Mongoose中的Model.findOne()和Model.findById()有什么区别?

考虑我们正在根据_id值从MongoDB中搜索文档.以下哪个代码有效?

  1. ModelObj.findById(IdValue).exec(callback);

  2. ModelObj.findOne({ '_id': IdValue}).exec(callback);

我觉得ModelObj.findById()是有效的,但有什么支持的原因或它是如何有效的?

mongoose mongodb node.js objectid

23
推荐指数
2
解决办法
2万
查看次数

有没有办法使用Express + Node.js多个视图引擎

场景:我使用Node.js,Express + Handlebars作为视图引擎和MongoDB开发了一些事务页面.

现在的问题是在模块集成期间,我得到了一些构建在Express + Jade上作为视图引擎的页面.

问题:如何整合在Handlebars上构建的页面和一些在Jade上的页面?

viewengine node.js express handlebars.js pug

22
推荐指数
2
解决办法
1万
查看次数

MongoDB单文档大小限制为16MB

已知信息:已知 MongoDB存储在BSON(二进制JSON)中,最大BSON文档大小为16MB.

问题:为什么16MB本身为什么不是32MB或64MB或者更多,并且确切地限制了16MB以及依赖于16MB的原因是什么?

提到在传输过程中,不会消耗过多的带宽,并且不需要服务器上过多的RAM.但是,如果我们能够承受网络带宽和RAM内存消耗,该怎么办?那么,除了GridFS之外,我们没有任何选择.为什么?

这可能听起来很愚蠢.但请有人能对此有所启发吗?


更新:它是4MB,现在是16MB.

mongodb BSON大小

我们可以通过发出以下命令在Mongo Shell上查看它

db.isMaster().maxBsonObjectSize/(1024*1024)
Run Code Online (Sandbox Code Playgroud)

为什么DBA不允许这样做?

database database-administration limit mongodb bson

21
推荐指数
1
解决办法
2万
查看次数

Golang将字符串转换为特定类型的int(int8,int16,int32,int64)

我试图在go-lang中将字符串解析为整数.我在文档中找到的问题是它提到的语法如下:

ParseInt(s string, base int, bitSize int)
Run Code Online (Sandbox Code Playgroud)

其中,s是要解析的字符串,base由字符串的前缀暗示:base 16表示"0x",base 8表示"0",其他字符10表示.

bitSize参数是我现在面临的问题.根据ParseInt的文档,它指定结果必须适合的整数类型.位大小0,8,16,32和64对应于int,int8,int16,int32和int64.

但对于所有的值,如0,8,16,32和64.我得到相同的类型返回值.即int64类型.

任何人都可以指出我错过了什么.

代码:https: //play.golang.org/p/F3LbUh_maY

go

20
推荐指数
2
解决办法
2万
查看次数

如何摆脱错误:"OverwriteModelError:编译后无法覆盖`undefined`模型."?

我有一个更新MongoDB中任何集合的文档的常用方法?

以下代码的文件名为Deleter.js

module.exports.MongooseDelete = function (schemaObj, ModelObject);
{
  var ModelObj = new mongoose.Model("collectionName",schemaObj);
  ModelObj.remove(ModelObject);
}
Run Code Online (Sandbox Code Playgroud)

并在我的主文件app.js中调用如下:

var ModObj = mongoose.model("schemaName", schemasObj);
var Model_instance = new ModObj();
var deleter = require('Deleter.js');
deleter.MongooseDelete(schemasObj,Model_instance);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

OverwriteModelError: Cannot overwrite `undefined` model once compiled.
    at Mongoose.model (D:\Projects\MyPrjct\node_modules\mongoose\lib\index.js:4:13)
Run Code Online (Sandbox Code Playgroud)

我只接受第二次方法通话.如果有任何人有解决方案,请告诉我.

mongoose mongodb node.js

17
推荐指数
4
解决办法
3万
查看次数

在Node.JS中切换vs if-else分支控制结构

当Node.JS程序中存在大量分支流时,哪一个很好用.

开关

switch(n)
{
case 1:
  execute code block 1
  break;
case 2:
  execute code block 2
  break;
default:
  code to be executed if n is different from case 1 and 2
}
Run Code Online (Sandbox Code Playgroud)

或者
if-else

if (condition1)
  {
    execute code block 1
  }
else if(condition2)
  {
    execute code block 2
  } 
else
  {
     code to be executed if n is different from condition1 and condition2
  } 
Run Code Online (Sandbox Code Playgroud)

node.js

15
推荐指数
2
解决办法
3万
查看次数

Node.js中的util.error和console.error有什么区别?

util.error([...])和之间到底有什么区别console.error([...])

在两种方法中,它都打印到stderr.

node.js

14
推荐指数
2
解决办法
7194
查看次数

如何在$ match中的mongodb聚合查询中使用$ regex

我试图使用$regex内部$match,它不返回匹配的文件.

db.collection('MyCollection', function (err, collection) {
  collection.aggregate([
    { $match: { 'Code': 'Value_01', 'Field2': { $regex: '/Value_2/g' } } },  
    { $project: {
        _id: 1,
        CodeNumber: '$Code',
        FieldName2: '$Field2'
      }
    }
  ], function (err, Result_doc) {
    console.log(Result_doc);
  }
});
Run Code Online (Sandbox Code Playgroud)

谁能告诉我哪里出错或语法正确?


我甚至试过更换了

'Field2': { $regex: /Value_2/g }
Run Code Online (Sandbox Code Playgroud)

mongodb node.js

14
推荐指数
2
解决办法
3万
查看次数

如何禁用/关闭Storm的日志记录功能

我想在从本地群集运行时关闭默认提供的日志记录功能.目前它在控制台上记录了很多信息.

以下是日志示例:

261 [main] INFO  backtype.storm.daemon.task  - Shut down task Getting-Started-Toplogie-1-1376388324:2
2261 [main] INFO  backtype.storm.daemon.task  - Shutting down task Getting-Started-Toplogie-1-1376388324:1
2262 [Thread-24] INFO  backtype.storm.util  - Async loop interrupted!
2276 [main] INFO  backtype.storm.daemon.task  - Shut down task Getting-Started-Toplogie-1-1376388324:1
2278 [main] INFO  backtype.storm.daemon.worker  - Terminating zmq context
2279 [main] INFO  backtype.storm.daemon.worker  - Disconnecting from storm cluster state context
2279 [main] INFO  backtype.storm.daemon.worker  - Waiting for heartbeat thread to die
2279 [Thread-27] INFO  backtype.storm.util  - Async loop interrupted!
2308 [main] INFO  backtype.storm.testing  - …
Run Code Online (Sandbox Code Playgroud)

java log4j apache-storm

14
推荐指数
1
解决办法
1万
查看次数