小编Eri*_*ale的帖子

如何将对象的属性作为本地传递给Jade中的include?

我想在循环中传递一个对象,如下所示;

数据结构:

things = [
      {
          title: 'foo'
        , description: 'bar'
      }
    , {
          title: 'baz'
        , description: 'bam'
      }
];
Run Code Online (Sandbox Code Playgroud)

index.jade:

- for thing in things
    include things-template
Run Code Online (Sandbox Code Playgroud)

在上面的格式中,我希望能够将某种参数指定为包含的"locals".

事情-template.jade:

li
  h3 #{title}
  p #{description}
Run Code Online (Sandbox Code Playgroud)

这是可能的,还是我需要将它分配给另一个变量并在我的"thing-template"中引用它?

javascript templates template-engine pug

9
推荐指数
1
解决办法
1581
查看次数

Mongoose/MongoDB:计算数组中的元素

我正在尝试使用Mongoose计算我的集合中数组中字符串的出现次数.我的"架构"看起来像这样:

var ThingSchema = new Schema({
  tokens: [ String ]
});
Run Code Online (Sandbox Code Playgroud)

我的目标是在"Thing"集合中获得前10个"标记",每个文档可以包含多个值.例如:

var documentOne = {
    _id: ObjectId('50ff1299a6177ef9160007fa')
  , tokens: [ 'foo' ]
}

var documentTwo = {
    _id: ObjectId('50ff1299a6177ef9160007fb')
  , tokens: [ 'foo', 'bar' ]
}

var documentThree = {
    _id: ObjectId('50ff1299a6177ef9160007fc')
  , tokens: [ 'foo', 'bar', 'baz' ]
}

var documentFour = {
    _id: ObjectId('50ff1299a6177ef9160007fd')
  , tokens: [ 'foo', 'baz' ]
}
Run Code Online (Sandbox Code Playgroud)

...会给我数据结果:

[ foo: 4, bar: 2 baz: 2 ]
Run Code Online (Sandbox Code Playgroud)

我正在考虑将MapReduce和Aggregate用于此工具,但我不确定什么是最佳选择.

javascript mapreduce mongoose mongodb

7
推荐指数
1
解决办法
7647
查看次数

优化此SQL查询

这个SQL查询让我感到厌恶.我没有写它,但它是我们服务器问题的一个重要原因.我愿意将它分成多个查询并通过PHP进行一些处理(比如,RAND()).

$sql = "SELECT a.code, a.ad_id, a.position, a.type, a.image, a.url, a.height, a.width
    FROM " . AD_TABLE ." a, " . USER_GROUP_TABLE . " g
    WHERE (a.max_views >= a.views OR a.max_views = '0')
    AND (FIND_IN_SET(" .$forum_id. ", a.show_forums) > 0 OR a.show_all_forums = '1')
    AND g.user_id = " . $user->data['user_id'] . "
    AND FIND_IN_SET(g.group_id, a.groups)
    AND FIND_IN_SET(" . $user->data['user_rank'] . ", a.ranks)
    AND a.start_time < " . time() . "
    AND a.end_time > " . time() . "
    AND (a.clicks <= …
Run Code Online (Sandbox Code Playgroud)

php mysql sql optimization

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

是否可以在DOM中移动<video>元素而不重置它?

我想<video>在我的DOM中创建一个元素,然后将其移动到另一个位置而不会中断该内容的播放.

也许更广泛地说,是否可以在不中断附加事件的情况下移动任何 DOM元素?

一些方法包括使用CSS绝对定位,但是有没有办法以不中断回放的方式实际更新DOM?

html html5 dom

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

在Mongoose(mongodb node.js)中,如何更新现有值并插入缺失值,而不删除未指定的值?

我正在尝试维护一个瞬时统计块,例如;

model = {
  id: 123,
  stats: {
    fooCount: 117,
    barCount: 175,
    bazCount: 654
  }
}
Run Code Online (Sandbox Code Playgroud)

...并且能够更新现有记录,但只能指定值,如下所示:

model.update({
  '_id': 123,
    stats: {
      fooCount: 118 
    }
});
Run Code Online (Sandbox Code Playgroud)

......没有吹走旧的价值观stats.如果不在我的更新中编写太多代码,这可能吗?

database mongoose mongodb node.js

4
推荐指数
1
解决办法
4793
查看次数

如何根据最新版本的Mongoose中的Date字段进行查询?

我有一个模特:

var model = {
      created: { type: Date, default: Date.now }
    , data: { }
}
Run Code Online (Sandbox Code Playgroud)

...但我似乎无法根据我正在使用的指南选择日期.这是我正在尝试的:

Model.find({
    created: { $lte: new Date('2012-03-16T20:54:35.630Z') }
}).run(function(err, models) {
    // ...
});
Run Code Online (Sandbox Code Playgroud)

我想知道Mongoose是否再次改变了......或者我是否只是做错了?

mongoose mongodb node.js

0
推荐指数
1
解决办法
5882
查看次数