基本上我构建我的应用程序类似于这个GitHub项目:https: //github.com/zackargyle/angularjs-django-rest-framework-seed
是否可以将后端和前端部署到单个PaaS上,例如Heroku/Elastic Beanstalk?
拥有一个独立的REST后端和JavaScript前端似乎是一种更干净/更可扩展的方式来做事情,而不是像[django-angular]一样将它们混合在一起:(http://django-angular.readthedocs.org/en/latest/ index.html /),或者与Django应用程序混合使用REST后端,例如http://blog.mourafiq.com/post/55099429431/end-to-end-web-app-with-django-rest-framework
如果无法轻松将其部署到Elastic Beanstalk上,是否有一种简单的方法可以将Django后端部署到Elastic Beanstalk,而AngularJS可以使用最少的配置前端到Amazon EC2/S3?
我意识到在此之前有类似的讨论:客户端JS + Django Rest Framework 但它缺少更具体的细节.
django heroku amazon-web-services angularjs amazon-elastic-beanstalk
例如,我有一个具有以下架构的集合:
{
timestamp: new Date(some-arbitrary-specific-datetime),
some-other-field: any-type.
}
Run Code Online (Sandbox Code Playgroud)
一个常见的查询是过滤和获取时间戳范围的文档:
collection.find({
timestamp: {$lte: someDate, $gte: someLaterDate}
})
Run Code Online (Sandbox Code Playgroud)
性能很重要,因为这个集合很大,并且查询可能返回超过 10 万个文档。
在我的查询中,我只对达到天级别的粒度感兴趣。
我想知道是否可以根据timestamp's day 而不是确切的 DateTime在集合上创建索引?
我知道可以在应用程序代码中执行此操作,方法是向集合中添加一个新字段并创建一个具有最高日级别粒度的 Date 并以相同的方式对其进行查询,即:
{
timestamp: new Date(1476479514),
date: new Date("2016-10-14"),
some-other-field: any-type
}
Run Code Online (Sandbox Code Playgroud)
并查询:
collection.find({
date: {$lte: new Date("2016-10-14"), $gte: new Date("2016-10-12")}
})
Run Code Online (Sandbox Code Playgroud)
并创建索引:
collection.collectionName.createIndex({date: 1});
Run Code Online (Sandbox Code Playgroud)
但现在在应用程序代码中这样做是不可行的。我可以仅使用该timestamp字段创建性能相似的索引吗?