小编k00*_*00k的帖子

从module.exports中的另一个函数调用module.exports中的"local"函数?

如何从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

node.js express

301
推荐指数
8
解决办法
19万
查看次数

MongoDB:通过不存在字段来查找文档?

有没有办法指定"文件不包含字段"的条件?

例如,我想只找到这两个中的第一个,因为它没有"价格"字段.

{"fruit":"apple", "color":"red"}


{"fruit":"banana", "color":"yellow", "price":"2.00"}
Run Code Online (Sandbox Code Playgroud)

mongodb

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

使用PassportJS,如何将其他表单字段传递给本地身份验证策略?

我使用passportJS,我想提供的不仅仅是更多的req.body.usernamereq.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)

我在我的路线(不是路线中间件)中调用这个,如下所示: …

authentication callback node.js express passport.js

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

MySQL - 如何按相关顺序排序?INNODB表

我在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的人.想法?如果我能澄清任何事情,请告诉我.

mysql search innodb sql-order-by relevance

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

Underscore.js:查找数组中最常出现的值?

考虑以下简单数组:

var foods = ['hotdog', 'hamburger', 'soup', 'sandwich', 'hotdog', 'watermelon', 'hotdog'];
Run Code Online (Sandbox Code Playgroud)

underscore,是否有一个函数或函数组合,我可以用来选择最常出现的值(在这种情况下是它hotdog)?

javascript underscore.js

16
推荐指数
1
解决办法
5226
查看次数

jQuery:移动窗口视口以显示新切换的元素

我在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可以在窗口中查看.

点击此处查看图片http://i50.tinypic.com/5ousuv.png

jquery show scrollto toggle hide

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

我应该直接连接到CouchDB的套接字并传递HTTP请求或使用node.js作为代理吗?

首先,这是我最初提出的所有问题.

我正在使用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请求是不错的做法.寻找有关任何后果或替代建议的经验和意见.

sockets iphone couchdb appcelerator node.js

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

Mongoose.js:嵌套属性的原子更新?

使用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)

mongoose mongodb node.js express

13
推荐指数
2
解决办法
8975
查看次数

使用PM2,如何将node.js应用程序部署到同一服务器上的多个环境和端口?

我有一个使用PM2部署的节点应用程序的ecosystem.json文件.

我已经尝试过一些不同的方式配置它,但没有运气实现我的目标是:

  • 能够部署到生产环境或登台环境(当前都在同一台服务器上).
  • 当部署到一个时,另一个应该保持运行.
  • 2个不同的环境应该在不同的端口上(prod = 8000,staging = 3000)

无论我首先运行哪个部署命令都会发生什么.

因此,如果我这样做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)

deployment environment node.js express pm2

12
推荐指数
1
解决办法
4545
查看次数

MySQL - 计算行和左连接问题

我有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)

mysql join group-by count

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