小编jbg*_*jbg的帖子

Mongoose/MongoDB中嵌套模式的正确模式是什么?

对我来说,做以下事情似乎是合乎逻辑的:

var AvatarSchema = new Mongoose.Schema({
    type: String,
    url: String
});

var UserSchema = new Mongoose.Schema({
    avatars: [AvatarSchema],
    email: String,
    name: String,
    salt: String,
    token: String
});

var ThinUserSchema = new Mongoose.Schema({
    avatars: [AvatarSchema],
    email: String,
    firstname: String,
    lastname: String,
});

var QuestionSchema = new Mongoose.Schema({
    question: String,
    users: [ThinUserSchema]
});
Run Code Online (Sandbox Code Playgroud)

然后是...do如下:

var question = new Question({
    question: 'Wut?',
    users: users //where users is an array of instances of a user model of the UserSchema
});
Run Code Online (Sandbox Code Playgroud)

在这里,我希望问题的用户部分可以填充头像,电子邮件,名字和姓氏...但是,由于用户/头像已经有_id,因此这些不会持续存在.

  • 从用户/头像中删除每个_id似乎很愚蠢.
  • 明确设置每个用户/头像似乎效率低下.
  • 切换到混合类型,将所有内容放在那里,并且需要markModified. …

mongoose mongodb node.js

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

OpenGL ES(iPhone)Touch Picking

希望在ES中进行经典的OpenGL鼠标选择.我不想使用第三方库,GLU端口和OpenGL名称堆栈等.这几乎留下了逆视图变换和光线交叉,对吗?

在以下的帮助下,我已经走得很远:http : //trac.bookofhook.com/bookofhook/trac.cgi/wiki/MousePicking http://eigenclass.blogspot.com/2008/10/opengl-es-picking-使用射线boundingbox.html

..但我还没有.这也是一个更容易的方式!

这是一些代码:

    -(void)handleTouch:(CGPoint)point {
    GLfloat width = backingWidth;
    GLfloat height = backingHeight;
    GLfloat x = point.x;
    GLfloat y = point.y;
    GLfloat z = 0.0f;

    //viewport -> normalized dev coord -> clip
    GLfloat n[] = {
        2 * x / width - 1,
        2 * y / height,
        2 * z - 1,
        1
    };

    float fov = 45.0f * (M_PI / 180.0f);
    float near = 0.01, far = 10.0f;
    float aspect = (float)backingWidth / …
Run Code Online (Sandbox Code Playgroud)

iphone opengl-es touch mouse-picking

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

Node.js knox s3图像检索

我正在尝试使用以下方法从节点中的s3检索图像:

app.get('/photos', function(req, res, next) {
var data = '';
s3.get('/tmp/DSC_0904.jpg').on('response', function(s3res){
    console.log(s3res.statusCode);
    console.log(s3res.headers);
    s3res.setEncoding('binary');
    s3res.on('data', function(chunk){
      data += chunk;
    });
    s3res.on('end', function() {
      res.contentType('image/jpeg');
      res.send(data);
    });
  }).end();
});
Run Code Online (Sandbox Code Playgroud)

我愿意接受为什么这不起作用的建议.

javascript download amazon-s3 node.js knox-amazon-s3-client

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

RabbitMQ + Web Stomp和安全性

RabbitMQ + Web Stomp非常棒.但是,我有一些主题我想要以只读或只写方式保密.

看来保护这些的唯一机制是使用rabbitmqctl.我可以创建一个vhost,一个用户,然后应用一些权限.然而,这就是Stomp和Rabbit实现开始崩溃的地方.

主题采取形式:/ topic/blah in stomp,它使用路由键"blah"路由到Rabbit中的"amq.topic".似乎没有办法为路由键设置权限.似乎:

rabbitmqctl set_permissions -p vhost user ".*" ".*" "^amq\.topic"
Run Code Online (Sandbox Code Playgroud)

是我能做的最好的,这仍然是"所有"主题.我也研究过交流,但是在javascript中无法动态定义这些交换.

我在这里错过了什么吗?

参考:http://www.rabbitmq.com/blog/2012/05/14/introducing-rabbitmq-web-stomp/

javascript stomp rabbitmq

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

UIVideoEditorController忽略.videoQuality

UIVideoEditorController尽管videoQuality在iOS 8.2和iOS 8.3中设置了属性,但修剪过的视频仍会被压缩并失去质量.

let controller = segue.destinationViewController as! UIVideoEditorController
    if let pathStr = mediaFile.pathStr {
        if UIVideoEditorController.canEditVideoAtPath(pathStr as String) {
            controller.delegate = self
            controller.videoMaximumDuration = 30
            controller.videoPath = pathStr as String
            controller.videoQuality = .TypeHigh
        } else {
            showAlert("Can not edit video")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

avfoundation ios swift ios8

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

OpenGLES 2.0片段着色器alpha失败?

我希望我的纹理完全消失,使用以下片段着色器:

varying mediump vec2 text_coord_out;
uniform sampler2D sampler;

void main()
{
    gl_FragColor = texture2D(sampler, text_coord_out);
    gl_FragColor.w *= 0.0;
}
Run Code Online (Sandbox Code Playgroud)

...it没有.我也试过gl_FragColor.a.思考?

opengl-es opengl-es-2.0

3
推荐指数
3
解决办法
7126
查看次数

Heroku + Node.js + MongoHQ + expressjs

我尝试将Heroku与Mongo一起用于Express.js项目.挣扎着连接到mongohq.日志输出:

connstring是:mongodb:// heroku:XXXXXXXXXXXXXXXXXXXXXXXX@staff.mongohq.com:10073/app676842主持人是:staff.mongohq.com

app.configure(function() {
  app.set('connstring', process.env.MONGOHQ_URL 
          || ('mongodb://' + app.set('m_host') + '/' +    app.set('m_database')));
  console.log('connstring is: ' + app.set('connstring'));
  var uri = parseUri(app.set('connstring'));
  console.log('host is: ' + uri.host);
  app.use(express.bodyParser());
  app.use(express.cookieParser());

  // use connect-mongo as session middleware
  app.use(express.session({
    secret: 'topsecret',
    store: new store({ db: app.set('m_database'), host: uri.host })
  }));
  app.use(express.methodOverride());
  app.use(app.router);

  // use express logger
  app.use(express.logger({ format: '\x1b[1m:method\x1b[0m \x1b[33m:url\x1b[0m :response-time ms' }));
  app.use(express.static(__dirname + '/public'));
});
Run Code Online (Sandbox Code Playgroud)

heroku mongodb node.js mongohq express

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