使用SQL返回参数为NULL的所有值?

我不确定什么是正确的方法来做到这一点。 我基本上想要返回所有的值,如果没有定义某个filter的值。 获取请求是这样的filter: url.com?filter1=abc&filter2=123&filter4=33 所以作为filter3没有定义我想要返回所有值,无论他们的filter3值是什么。 简单的逻辑权利。 但是,如果我尝试在SQL中实现,我卡住了。 SELECT * from TABLE_NAME WHERE filter1 = $1 AND filter2 = $2 AND filter3 = $3 AND filter4 = $4 。 我如何修改上面的SQL来响应未定义的/空值,并返回所有。 或者这是甚至是正确的策略。

保护我的HTTP连接

我目前正在做一个家庭自动化项目。 以下是我的设置。 ESP8266 WiFi模块将连接到各种传感器。 轻型networking服务器将在模块上运行。 将部署一个Linode Cloud,运行某些NodeJS脚本和MongoDB数据库。 移动应用程序(客户端)将向云发送请求以控制和监视各种传感器。 我将使用JSON Web Tokens保护应用程序和云之间的连接。 另外我会尝试使用HTTPS来确保这个连接。 我很困惑如何保护云服务器和ESP8266模块之间的通信。 我做了很多研究。 知道某些概念,但不能得到一个清晰完整的画面。 有人请指导我。 谢谢。

如何在mongoose中嵌套查找?

我有一个todolists领域的用户模型,在todolists领域我想通过id得到具体的todolist。 我的查询是这样的: User.find({_id: user._id, _creator: user, todoList: todoList._id}, 'todoLists') // how do I query for todoList id here? I used _creator this on populate query. 我也可以像这样在Usermodel字段上进行search吗? User.todoLists.find({todoList: todoList._id}) 我还没有testing过,因为我仍然在修改我的Graphql模式,我是mongoose新。我真的很感激链接和build议。 帮帮我?

Node http请求中数据块的types

我在这里学习设置一个简单的节点服务器的代码。 我已经看到并习惯了将数据块保存在一个数组中,并最终将它们连接在一起。 http.createServer(function(request, response) { var body = []; request.on('data', function(chunk) { body.push(chunk); }); request.on('end', function() { body = Buffer.concat(body).toString(); … chunk的types是什么? 文档说它是Buffer或string ,但哪一个? 调用Buffer.concat(body)是否安全,其中body是一个string数组? Buffer.concat(list)说明文件应该是Buffer实例列表。 string是“缓冲区实例”吗?

为什么网页如果有404就永远加载?

我有一个用Heroku托pipe的Express.js / Node.js网站。 如果找不到文件,服务器应该发送一个404错误(像大多数网站一样)。 但是我的代码中的error handling程序无法正常工作。 当客户端请求一个不存在的文件,页面将加载…并加载…并加载…永远。 当检测到文件无法find时,如何使服务器停止加载? 这是我的JavaScript的第一部分: var express = require('express'); // Express.js var app = express(); var http = require('http'); var server = http.createServer(app); var bodyParser = require('body-parser'); var postgres = require('pg'); // Postgres database app.use(express.static('static', { extensions: ['html'] })); app.all('*', function (request, response, next) { var redirectURL = request.query.redirect; if (redirectURL […]

为什么在express路由中调用next()是可选的?

在Nodejs / Express的许多例子中,我看到在成功的情况下调用next()是可选的。 exports.postLogin = (req, res, next) => { passport.authenticate('local', (err, user, info) => { if (err) { return next(err); } req.logIn(user, (err) => { if (err) { return next(err); } req.flash('success', { msg: 'Success! You are logged in.' }); res.redirect(req.session.returnTo || '/'); }); })(req, res, next); }; 而且,在args中nextcallback也很容易: exports.postLogin = (req, res) => […]

SCRIPT5009:'fetch'是未定义的

有一些麻烦! 对于我的请求,我正在使用Fetch API! 提交表单在IE中不工作,因为“SCRIPT5009:'取'未定义”! 示例如何: fetch("url", { method: "POST", body: JSON.stringify(data), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' } }).then(function (response) { return response.json().then(function (data) 同时在Chrome和FF,它的工作正常! 我已经试图find一些冲浪谷歌的解决scheme,但这是无益的! 我尝试在npm中安装“isomorphic-fetch”和“es6-promise”,并试图将其导入到我的.js文件中,但也不成功,控制台显示了我这样的内容:“Uncaught SyntaxError:Unexpected token import” ! 顺便说一句,必需()函数不工作以及! 所以我完全不用做什么,如何使用这些polyfill的东西,所有这一切! 如果有人有一个想法,提前致谢! BR!

如何从JavaScript中的字符获取代码?

我正在从这个库的节点v86模拟器工作。 我需要发送一些键盘input,但我首先需要将其转换成代码 。 有没有JavaScript的function呢? a => 0x1E b => 0x30 c => 0x2E 这是该代码的表格 : Key Make Break Key Make Break Backspace 0E 8E F1 3B BB Caps Lock 3A BA F2 3C BC Enter 1C 9C F3 3D BD Esc 01 81 F4 3E BE Left Alt 38 B8 F7 41 C1 Left Ctrl […]

Webpack 2和SASS:一个SASS脚本无法find它的字体依赖关系时,它是@导入到另一个SASS文件

我想利用Webpack 2和Materialise挖掘现代前端开发。 因为我可能会自定义样式,所以我想将Materialise SASS文件导入到我自己的SASS文件中,这样我就可以覆盖东西了。 但是,如果我这样做,Webpack 2无法编译我的SASS文件了,因为它没有findMaterialize字体。 这是我目前的webpack.config.js ,从互联网上复制: const ExtractTextPlugin = require('extract-text-webpack-plugin'); const extractSass = new ExtractTextPlugin({ filename: "style.css", disable: process.env.NODE_ENV === "development" }); module.exports = { entry: './src/js/index.js', output: { path: __dirname + '/public/dist', filename: 'app.js' }, module: { rules: [ { test: /\.scss$/, use: extractSass.extract({ use: [{ loader: "css-loader" }, { loader: "sass-loader" […]

节点命令行工具不在vagrant上编译

我在Windows 10上使用Vagrant。使用npm install (或npm install –no-bin-links ,因为我在Windows上的Vagrant)安装所有的依赖关系后,./ ./node_modules/.bin是空的。 我期望find一些命令行工具。 在我的情况下,这是svg2png-many是缺less的。 我也尝试用npm rebuild svg2png-many ,但是这并没有创build丢失的文件。 注:我没有得到任何错误运行npm install ,只是该文件不存在: ./svg2png.sh:第8行:./node_modules/.bin/svg2png-many:没有这样的文件或目录 这是在那个文件中 for t in "${themes[@]}" do echo "dist/img/${t}/" ./node_modules/.bin/svg2png-many -i "dist/img/${t}/" "dist/img/${t}/" done 接下来我应该尝试什么?