小编bob*_*off的帖子

如何仅为响应添加mongoose对象的临时属性,而不存储在数据库中

我想用额外的数据填充一些额外的临时属性并发送回响应

'use strict';

var mongoose = require('mongoose');
var express = require('express');
var app = express();

var TournamentSchema = new mongoose.Schema({
    createdAt: { type: Date, default: Date.now },
    deadlineAt: { type: Date }
});

var Tournament = mongoose.model('Tournament', TournamentSchema);

app.get('/', function(req, res) {
    var tournament = new Tournament();

    // Adding properties like this 'on-the-fly' doesnt seem to work
    // How can I do this ?
    tournament['friends'] = ['Friend1, Friend2'];
    tournament.state = 'NOOB';
    tournament.score = 5;
    console.log(tournament);
    res.send(tournament);
});

var server = …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose node.js

19
推荐指数
1
解决办法
9224
查看次数

IE8上的鼠标悬停/悬停效果很慢

我在IE8中注意到在具有多行(本例中为100)的表上使用鼠标悬停事件时的奇怪性能.我已经尝试了很多不同的方法,但我似乎无法找到任何方法来获得它我喜欢/需要的速度.

如果我在每个事件上切换类,所有IE版本的性能都会下降,如果我通过javascript使用CSS直接操作CSS,IE6和IE7加速很多,但IE8仍然表现糟糕.

有任何想法吗 ?我真的很想知道是什么让mouseover事件与其他所有浏览器相比都显得迟钝.

如果这只发生在IE6上,我可以理解并让它通过,但是当最新版本的浏览器是最慢的时候,只会有越来越多的用户体验不好.

使用JQuery悬停的示例:http://thedungheap.net/research/

编辑:我现在更新了示例,以便很容易看到有10行和200之间的区别.这是在同一个文档中,所以这对整个DOM大小来说不是问题,我猜

javascript performance jquery mouseover internet-explorer-8

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

如何使用Node.js标记标记?

我正在构建一个iOS应用程序,其视图将来自markdown.

我的想法是能够将存储在MongoDB中的markdown解析为类似于以下内容的JSON对象:

{
    "h1": "This is the heading",
    "p" : "Heres the first paragraph",
    "link": {
        "text": "Text for link",
        "url": "http://exampledomain.com",
    }
}
Run Code Online (Sandbox Code Playgroud)

在服务器上,我正在运行Node.js,并且正在查看标记的模块,这些模块似乎是最受欢迎的模块.它让我可以访问Lexer,它标记了一些自定义对象的降价.但是当我查看对象时,它并没有标记链接.如果我继续将markdown解析为HTML,则检测到链接并且HTML看起来正确.

在查看了一些更多的模块,并且失败之后,我想也许我可以在客户端上执行此操作而发现MMMarkdown看起来很有希望,但是再次......在直接解析为HTML时工作正常,但是当介于两者之间时只是解析所谓的MMDocument的降价,它不包含Link类型的任何MMElement.

那么,我缺少的降价解析有什么基础吗?内联链接的lexing是否应该在第二轮中完成,或者其他什么?我无法理解它.

如果没有其他工作,我可能只是使用填充了来自解析的markdown的HTML的UIWebView,但是我们必须再次设计整个事情,但是使用CSS,我们已经没时间了,所以我们不能再提供双重工作.

javascript markdown tokenize node.js ios

8
推荐指数
2
解决办法
3073
查看次数

如何使用Keystone.js添加Array类型的虚拟属性?

这是我的模型的代码:'Info'及其创建问题的tokens属性.

var keystone = require('keystone'),
    Types = keystone.Field.Types;
var Info = new keystone.List('Info');
Info.add({
    title: { type: String, required: true, initial: true },
    subtitle: { type: String, initial: true },
    content: { type: Types.Markdown, height: 500, initial: true },
    author: { type: Types.Relationship, ref: 'User', initial: true },
    date: { type: Types.Date, default: Date.now, initial: true },
    published: { type: Boolean, default: false, initial: true },
    tokens: { type: Array, virtual: true, noedit: true, collapse: true }
});

Info.defaultColumns = …
Run Code Online (Sandbox Code Playgroud)

javascript content-management-system keystonejs

8
推荐指数
1
解决办法
4090
查看次数

为什么在使用MongoDB的$ push向数组添加新对象时添加了带有ObjectID的_id?

我正在使用Node.js和Mongoose.玩家和锦标赛变量是Mongoose对象,就在之前获取.

我想在播放器对象的tournamentSessions字段中添加一个新的tournamentSession对象(不是Mongoose对象).我正在使用findOneAndUpdate来确保我不添加两次相同的锦标赛(使用"$ ne")

Player.findOneAndUpdate({
            '_id': player._id,
            'tournamentSessions.tournament': {
                '$ne': tournament._id
            }
        }, {
            '$push': {
                'tournamentSessions': {
                    'tournament': tournament._id,
                    'level': 1,
                    'status': 'LIMBO',
                    'score': 0,
                }
            }
        }, function(err, updatedPlayer) {
            // ...
        });
Run Code Online (Sandbox Code Playgroud)

一切正常,除了包含ObjectID的"_id"字段被添加到tournamentSessions数组中新添加的会话中,我无法理解为什么会发生这种情况.

如果我手动添加"_id"字段并使用值"BLABLABLA",则永远不会存储"_id"字段(因为它不应该,因为它未在模式中声明)

是的,这是模式:

var Player = mongoose.model('Player', Schema({
    createdAt: { type: Date, default: Date.now },
    lastActiveAt: Date,
    clientVersion: String,
    tournamentSessions: [{
        tournament: { type: Schema.Types.ObjectId, ref: 'Tournament' },
        level: Number,
        status: String,
        score: Number
    }],
    friends: Array
}));

var Tournament = mongoose.model('Tournament', Schema({
    createdAt: { type: …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js

6
推荐指数
1
解决办法
2639
查看次数

在iOS上使用VoiceOver时,如何获取当前关注的元素?

我有一个带有单元格的表格,用户可以滑动以将其标记为"已完成".我试图通过实现accessbilityScroll方法使用VoiceOver来访问它.

这工作正常,但我无法弄清楚当用户滚动时哪个单元格具有焦点.

我只找到有关如何改变焦点的信息.

accessibility objective-c ios voiceover

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

如何定义我的CSS以使用Pixate Framework显示'HelveticaNeue-Light'?

Clearification!这个问题是关于iOS框架Pixate(http://www.pixate.com),而不是UIWebView中的常规CSS.

default.css中的代码:

.title {
 font-family: 'Helvetica Neue';
 font-weight: light;
 font-size: 30px;
 color: #005284;
Run Code Online (Sandbox Code Playgroud)

}

代码在视图中:

UILabel *label = [UILabel new];
label.styleClass = @"title";
Run Code Online (Sandbox Code Playgroud)

记录时的结果:

<UICTFont: 0x10d09e210> font-family: "HelveticaNeue-UltraLight"; font-weight: normal; font-style: normal; font-size: 30.00pt
Run Code Online (Sandbox Code Playgroud)

当我尝试font-weight: medium;,我得到HelveticaNeue-Medium
当我尝试font-weight: 300;,我得到HelveticaNeue-UltraLight
当我尝试font-weight: 400;,我得到Helvetica Neue
当我尝试font-family: 'HelveticaNeue-Light';,我得到.HelveticaNeueInterface-M3??? (我猜这是默认的系统字体)

如果我通过代码设置字体

label.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:30];
Run Code Online (Sandbox Code Playgroud)

看起来应该如此,(并且日志说HelveticaNeue-Light)

这是截图.左边的一个是使用代码时,右边的那个是使用Pixate和`font-family:'HelveticaNeue-Light'

在此输入图像描述

如何使用Pixate CSS获取'HelveticaNeue-Light'(如上图中左侧的那个)?

fonts objective-c ios pixate

5
推荐指数
2
解决办法
3万
查看次数

如何在 iOS 设备之间获得低延迟发送运动数据,我应该期待什么?

我想使用 iPhone 上的加速度计在 iPad 上控制一艘太空船。设备使用 Multipeer Connectivity Framework 连接。我正在使用将两个设备链接在一起的会话对象上的常规 sendData 方法发送加速度计数据。

一切正常,只是有一个非常严重的滞后。然后我开始注意到一些奇怪的事情。消息以突发方式发送,以下是在 iPad 上接收消息之间经过的时间记录。

时间流逝:0.488062
时间流逝:0.002678
时间流逝:0.001255
时间流逝:0.001652
时间流逝:0.005365
经过的时间:0.516167 < - 500ms的间隙
时间流逝:0.004351
时间流逝:0.001268
时间流逝:0.001069
经过的时间:0.001048

这些是来自控制器(iphone)的登录,数据的发送者:

时间流逝:0.099938
时间流逝:0.100045
时间流逝:0.099997
时间流逝:0.099978
时间流逝:0.100027
时间流逝:0.099975
时间流逝:0.099997
时间流逝:0.100296
时间流逝:0.099719
时间流逝:0.099567
经过时间:0.100650

使用每 100 毫秒触发一次的计时器发送数据。(10次/秒)

有了这些信息,我只能假设数据的发送以某种方式缓冲并以另一种速率发送(似乎每 500 毫秒)(2 次/秒)。

我也尝试过使用 NSStream 版本的框架来发送数据。再次注意到同样的爆裂。然后我尝试对 inputStream 进行自己的轮询并消除了突发,但延迟保持不变或更高。感觉大约 500-1000 毫秒。我真的没有测量延迟的正确方法,但是只要尝试控制那艘飞船的体验完全没有价值,我就知道它太高了:)

我很少有做这种编程的经验,所以任何帮助表示赞赏。我什至不知道最终希望延迟多低,但感觉在这样的游戏中,20-50 毫秒的延迟可能是可以接受的。我说的是从 iPhone 到 iPad 的单向延迟。

iphone latency nsstream ios multipeer-connectivity

5
推荐指数
0
解决办法
386
查看次数

是否可以在我的nginx.conf中有一个包含空格的根路径

我已尝试转义(而不是转义),(和没有)单引号双qoutes但我总是在404页面上.

它甚至可能吗?我试图搜索它,但登陆了https://serverfault.com/questions/361915/how-can-i-make-nginx-recognise-directories-with-spaces-in-its-name,但我已经尝试过,它没有用.

如果我只是我,那么请向我证明:)

configuration nginx

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

为NSOutputStream禁用Nagle的算法

我正在使用MPCF创建一个多人游戏.您可以使用iPhone控制iPad上的太空飞船.

我正在经历各种滞后和延迟以及随机时间和间隔的缓冲/暂停,现在已经登陆Apples Technical Q&A NW26论文,讨论禁用Nagle算法.我尝试了,但我的程序不断崩溃,我不明白为什么.似乎CFWriteStreamCopyProperty总是返回NULL.

- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode
{
    switch (eventCode) {
        case NSStreamEventOpenCompleted:

            // Trying to get a handle to the native socket
            CFSocketNativeHandle rawsock;

            // This always return NULL
            CFDataRef socketData = CFWriteStreamCopyProperty((__bridge CFWriteStreamRef)(stream), kCFStreamPropertySocketNativeHandle); 

            // And this row always crash (coz of socketData being NULL i guess)
            CFDataGetBytes(socketData, CFRangeMake(0, sizeof(CFSocketNativeHandle)), (UInt8 *)&rawsock); 
            CFRelease(socketData);

            // Code example from Apple that need a handle to the native socket, that I am trying to get above …
Run Code Online (Sandbox Code Playgroud)

network-programming objective-c nsstream ios multipeer-connectivity

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