如何从module.exports声明中的另一个函数中调用函数?
这是一些简化的代码.
在我的app.js中,我执行以下操作:
var bla = require('./bla.js');
console.log(bla.bar());
Run Code Online (Sandbox Code Playgroud)
而在bla.js里面是
module.exports = {
foo: function (req, res, next) {
return ('foo');
},
bar: function(req, res, next) {
this.foo();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试foo从函数中访问该函数bar,我得到:
TypeError: Object # has no method 'foo'
如果我改成this.foo()只是foo()我得到:
ReferenceError: foo is not defined
有没有办法指定"文件不包含字段"的条件?
例如,我想只找到这两个中的第一个,因为它没有"价格"字段.
{"fruit":"apple", "color":"red"}
{"fruit":"banana", "color":"yellow", "price":"2.00"}
Run Code Online (Sandbox Code Playgroud) 我使用passportJS,我想提供的不仅仅是更多的req.body.username和req.body.password我的身份验证策略(护照本地).
我有3个表单字段:username,password,和foo
我如何req.body.foo从我的本地策略访问,如下所示:
passport.use(new LocalStrategy(
{usernameField: 'email'},
function(email, password, done) {
User.findOne({ email: email }, function(err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Unknown user' });
}
if (password != 1212) {
return done(null, false, { message: 'Invalid password' });
}
console.log('I just wanna see foo! ' + req.body.foo); // this fails!
return done(null, user, aToken);
});
}
));
Run Code Online (Sandbox Code Playgroud)
我在我的路线(不是路线中间件)中调用这个,如下所示: …
我在INNODB表中有大约20,000行称为'cards',所以FULLTEXT不是一个选项.
请考虑此表:
id | name | description
----------------------------------------------------------
1 John Smith Just some dude
2 Ted Johnson Another dude
3 Johnathan Todd This guy too
4 Susan Smith Her too
5 Sam John Bond And him
6 John Smith Same guy as num 1, another record
7 John Adams Last guy, promise
Run Code Online (Sandbox Code Playgroud)
因此,假设用户搜索"John",我希望结果集的顺序为:
7 John Adams
6 John Smith
3 Johnathan Todd
5 Sam John Bond
2 Ted Johnson
Run Code Online (Sandbox Code Playgroud)
请注意,我们只拉了一次'John Smith',我们最近参加了他的录取.由于我的数据,所有名字都是针对同一个人,不需要担心两个名叫John Smith的人.想法?如果我能澄清任何事情,请告诉我.
考虑以下简单数组:
var foods = ['hotdog', 'hamburger', 'soup', 'sandwich', 'hotdog', 'watermelon', 'hotdog'];
Run Code Online (Sandbox Code Playgroud)
有underscore,是否有一个函数或函数组合,我可以用来选择最常出现的值(在这种情况下是它hotdog)?
我在doc中准备了一段jQuery,它可以切换包含以下内容的div textarea:
$('div#addnote-area').hide(); // hide the div
$('a#addnote-link').click(function() { // click event listener on link
$('div#addnote-area').toggle(); // toggle the hidden div
});
Run Code Online (Sandbox Code Playgroud)
单击链接时切换工作正常.我遇到的问题是,如果div#addnote-area它低于浏览器的当前视口,它会在显示时保留在那里.我希望用户的光标转到textarea,并且整个textarea可以在窗口中查看.
首先,这是我最初提出的所有问题.
我正在使用Appcelerator Titanium来开发iPhone应用程序(最终也是Android).我正在使用Titanium的Titanium.Network.TCPSocket对象直接连接到CouchDB的端口.我相信它使用了Apple SDK的CFSocket/NSStream类.
连接后,我只需写:
'GET /mydb/_changes?filter=app/myfilter&feed=continuous&gameid=4&heartbeat=30000 HTTP/1.1\r\n\r\n'
直接到socket.它使"永久"打开并在每次更新数据库时返回JSON数据并匹配过滤器和更改请求.凉.
我想知道,是否可以将直接连接到CouchDB的插座这样的,不然我会过得更好打开插座而不是Node.js的,也许用这个CouchDB的Node.js的模块来处理通过node.js的CouchDB的代理?
我主要担心的是表现.我对CouchDB没有足够的经验来知道是否点击它的套接字并直接传递虚假的HTTP请求是不错的做法.寻找有关任何后果或替代建议的经验和意见.
使用Mongoose版本3.6.4
假设我有一个像这样的MongoDB文档:
{
"_id" : "5187b74e66ee9af96c39d3d6",
"profile" : {
"name" : {
"first" : "Joe",
"last" : "Pesci",
"middle" : "Frank"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我为用户提供以下架构:
var UserSchema = new mongoose.Schema({
_id: { type: String },
email: { type: String, required: true, index: { unique: true }},
active: { type: Boolean, required: true, 'default': false },
profile: {
name: {
first: { type: String, required: true },
last: { type: String, required: true },
middle: { type: String }
}
} …Run Code Online (Sandbox Code Playgroud) 我有一个使用PM2部署的节点应用程序的ecosystem.json文件.
我已经尝试过一些不同的方式配置它,但没有运气实现我的目标是:
无论我首先运行哪个部署命令都会发生什么.
因此,如果我这样做pm2 deploy production,那么pm2 deploy staging只有生产应用程序/端口组合在服务器上运行,反之亦然,如果我切换订单.
编辑:如果我使用下面的conf,将会有2个应用程序运行pm2 status,但如果我这样做netstat,我只看到第一个端口.(centos 6)
我觉得我必须遗漏一些明显的东西.这是我的ecosystem.json文件,我在顶部尝试了多个应用程序声明.
{
/**
* Here we declare the apps that must be managed by PM2
* All options are listed here:
* https://github.com/Unitech/PM2/blob/master/ADVANCED_README.md#json-app-declaration
*
*/
apps : [
{
"name" : "myapp-staging",
"script" : "app.js",
"instances" : "1",
"error_file" : "/var/log/nodejs/myapp.mydomain.com-staging-err.log",
"out_file" : "/var/log/nodejs/myapp.mydomain.com-staging-out.log",
"pid_file" : "/home/node/myapp.mydomain.com-staging.pid",
"exec_mode" : "cluster_mode",
"env_staging" : …Run Code Online (Sandbox Code Playgroud) 我有2个表,广告系列和campaign_codes:
广告系列:id,partner_id,status
campaign_codes:id,代码,状态
我希望获得所有广告系列的所有广告系列代码的统计信息WHERE campaign_codes.status等于0或者广告系列没有campaign_codes记录.
我有以下SQL,但当然WHERE语句会删除那些在campaign_codes中没有相应记录的广告系列(我希望这些广告系列也包含零广告系列代码)
SELECT
c.id AS campaign_id,
COUNT(cc.id) AS code_count
FROM
campaigns c
LEFT JOIN campaign_codes cc on cc.campaign_id = c.id
WHERE c.partner_id = 4
AND cc.status = 0
GROUP BY c.id
Run Code Online (Sandbox Code Playgroud) node.js ×5
express ×4
mongodb ×2
mysql ×2
appcelerator ×1
callback ×1
couchdb ×1
count ×1
deployment ×1
environment ×1
group-by ×1
hide ×1
innodb ×1
iphone ×1
javascript ×1
join ×1
jquery ×1
mongoose ×1
passport.js ×1
pm2 ×1
relevance ×1
scrollto ×1
search ×1
show ×1
sockets ×1
sql-order-by ×1
toggle ×1