我使用node.js和express,我有以下路由和中间件函数isMobile.如果我不使用return next(); 在isMobile函数中,app会卡住,因为nodejs不会移动到下一个函数.
但我需要isMobile函数来返回一个值,以便我可以在app.get中进行相应的处理.有任何想法吗?
app.get('/', isMobile, function(req, res){
// do something based on isMobile return value
});
function isMobile(req, res, next) {
var MobileDetect = require('mobile-detect');
md = new MobileDetect(req.headers['user-agent']);
//return md.phone(); // need this value back
return next();
}
Run Code Online (Sandbox Code Playgroud)
谢谢
如何创建一个映射来标记空格上的字符串,并将其更改为小写以进行索引?
这是我当前的映射,由空格标记,我无法理解如何小写它并搜索(查询)相同的...
{
"mappings": {
"my_type" : {
"properties" : {
"title" : { "type" : "string", "analyzer" : "whitespace", "tokenizer": "whitespace", "search_analyzer":"whitespace" }
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
请帮忙...
框架:node.js/express.js/Jade
问题:在生产环境中,当一个jade文件由express呈现时,jade缓存就是这样,所以将来的渲染会更快.
当我启动node.js应用程序时,如何预编译(或)预渲染(如预热)所有的玉文件,以便在请求开始进入时它已经在缓存中...
我可以使用文件夹递归,我只需要知道如何预编译(或)预渲染.
这可能吗?
是否可以在elasticsearch中为字段名称设置别名?(就像索引名称可以别名一样)
例如:我有一个文件 {'firstname': 'John', 'lastname': 'smith'}
我想将“名字”别名为“fn”...
我想了解ES如何在其索引内部存储日期值.它转换为UTC吗?
我有一个日期类型的字段"t".这是映射:
"t": { "type" : "date" },
Run Code Online (Sandbox Code Playgroud)
现在,当我向ES插入/添加文档时,它如何存储在索引中.
"t":"1427700477165"(从Date.now()函数生成的毫秒数).ES是否在UTC中识别其纪元时间并按原样存储?
"t":"2015-03-29T23:59:59"(我相应地调整了映射日期格式) - ES如何存储它.如果它转换为UTC,它如何知道这个日期是什么时区并将其转换为UTC?ES是否从运行的计算机上获取默认时区?
谢谢!
是否可以使用正则表达式查找包含子字符串的句子中的所有单词?
例子:
var sentence = "hello my number is 344undefined848 undefinedundefined undefinedcalling whistleundefined";
Run Code Online (Sandbox Code Playgroud)
我需要找到这句话中包含“未定义”的所有单词并删除这些单词。
Output should be "hello my number is ";
Run Code Online (Sandbox Code Playgroud)
仅供参考 - 目前我标记化(javascript)并遍历所有标记以查找和删除,然后合并最终字符串。我需要使用正则表达式。请帮忙。
谢谢!
使用dot.js模板引擎,如何循环访问对象?在下面的示例数据中,如何循环"msg"对象?
{
"msg": {
"1": {
"a": "a1"
},
"2": {
"b": "b2"
}
}
}
Run Code Online (Sandbox Code Playgroud) 最近我开始注意到我的JS和CSS文件没有被缓存在chrome中并且总是从服务器重新加载.
但图像和字体正从缓存中加载.
以下是javascript文件的服务器响应.Chrome行为有什么变化吗?这不是在FF或IE中发生的!
请帮忙!
HTTP/1.1 200 OK
Accept-Ranges: bytes
ETag: "282766-1400285984000"
Date: Wed, 18 Nov 2015 18:27:05 GMT
Cache-Control: public, max-age=31536000
Last-Modified: Sat, 17 May 2014 00:19:44 GMT
Content-Type: application/javascript
Vary: Accept-Encoding
Content-Encoding: gzip
Connection: keep-alive
Transfer-Encoding: chunked
Run Code Online (Sandbox Code Playgroud) 这是我的文件
{
"name": "andrew",
"b": [{"x":"c1", "y": 0}, {"x":"c2", "y": 0}]
}
Run Code Online (Sandbox Code Playgroud)
我想在数组字段"b"中找到元素并更新整个对象.我试过这个脚本,但它没有更新.有任何想法吗?
{
"script": "for (item in ctx._source.b) { if (item['x'] == x_id) { item = newobj; } };",
"params": {
"x_id": "c1",
"newobj" : {"x":"c1", "y": 4222}
},
"lang":"groovy"
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 Nodejs 和 Express。我有一个 routes.js 文件定义了我的所有路由。当我尝试使用 req.session.regenerate() 时,express 会创建多个会话,其中每个会话也用于静态文件请求。
令人困惑的是 req.session.regenerate() 在 app.get('/' 路由中,从 console.log 看来它只被调用一次。但不知何故,当我查看 mongodb 会话集合时,创建了多个会话对于一页请求。
基本上我想做的是在请求登录页面时我想创建一个新会话,以便 express 不会重复使用以前会话的 cookie。
任何指针?
exports = module.exports = function(app, passport) {
//When I uncomment this line, it shows me the number of times a request is made.
//app.all('*', function(req, res, next){console.log('Request made to server'); next();});
app.get('/', function(req, res){
if (req.isAuthenticated()){
res.redirect('./home');
}else{
req.session.regenerate(function(err) {
console.log('Regenerated');
})
res.render('./login')
}
});
Run Code Online (Sandbox Code Playgroud) 我使用的是Elasticsearch 1.5.2
我有一个安装脚本,为我的应用程序创建所有必要的索引和映射.
在创建这些索引之后,我不想创建新索引或删除现有索引.(手动或通过我的应用程序的一些无意执行)
是否可以在elasticsearch中设置任何配置并重新启动服务以实现上述目的?
谢谢