Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 使用{{#each}}在日历中填入保留:最佳实践_Mongodb_Meteor - Fatal编程技术网

Mongodb 使用{{#each}}在日历中填入保留:最佳实践

Mongodb 使用{{#each}}在日历中填入保留:最佳实践,mongodb,meteor,Mongodb,Meteor,我正在构建一个html表,其中日期作为列,酒店房间作为行 我对Meteor还是个新手,对此我很头疼 因为html表是按行构建的,所以我需要遍历各个房间。因此,如果我没有误解的话,这将限制我在MongoDB中选择以下文件结构: Room Collection:[ {Room1:[{"31/03/2015", "2/04/2015",....]}, {Room2:["22/03/2015",...]}, ...] 在此之前,我有一个预订对象,每个预订都有房间的名称。因为我无法将这些日期分组到不同

我正在构建一个html表,其中日期作为列,酒店房间作为行

我对Meteor还是个新手,对此我很头疼

因为html表是按行构建的,所以我需要遍历各个房间。因此,如果我没有误解的话,这将限制我在MongoDB中选择以下文件结构:

Room Collection:[
{Room1:[{"31/03/2015", "2/04/2015",....]},
{Room2:["22/03/2015",...]},
...] 
在此之前,我有一个预订对象,每个预订都有房间的名称。因为我无法将这些日期分组到不同的集合中,所以我将其更改为上述结构

好了,现在我可以将光标从一个房间移动到另一个房间并生成表行

现在更大的问题是,我将迭代7天(就说,现在我只检索本周的查询)。如果我现在能从数据库中得到三天的时间。我只能绕三圈。这是个坏消息,因为我需要填充7个td元素。因此,不知何故,我应该确定一周中哪些日子是预订的

是否可以只在MongoDB中存储一年中的每个日期,并表明是否有该日期的预订?那似乎一点也不优雅

或者我应该将一周的日期与从服务器检索到的日期进行比较,所以在客户端

我想我对这个问题的看法是错误的。我想在这里谈谈其他人对此的看法。:)


亲切的问候

我总是从我拥有的和我想要的ER模型开始

我认为您目前的情况:1个房间有很多预订。1个预订有1个日期时间

访问方式:1天内有许多预订。1个预订有1个datetime和1个房间

Mongo的方法是:一个预订有一个房间和一个日期

因此,您最初的想法是正确的(我不确定您不能在其他收藏中分组是什么意思,如果您愿意,我们可以在评论中解决这个问题):

为简单起见,在本例中,我们假设您没有更改月份&我假设您已经下载了代码,为这些正方形指定了天数

日历中的每个方块都应遵循
dayofMonth
模板

这将为您提供一个
this
,它在您的助手中包含日期,因此您可以编写如下内容:

Template.dayOfMonth.helpers({
    reservations: function() {
        return Reservations.find({datetime.getDate(): 
        this.datetime.getDate()}).sort(datetime);
    }
}
然后,您的模板很简单,如:

{{#each reservations}}
    {{reservations.name}}
{{/each}}

希望有帮助

谢谢你的回复!我所说的合并集合的意思是:日期是列,房间是行。因此,我需要将使用同一房间(但日期不同)的不同预订“分组”在一行中。那么,一个单元格表示一天内一个房间的所有预订?只需将此添加到查询中:
room===this.room
。是的,有点。但在一个单元格中,一次只能有一个预订。当然如果我是正确的,我可以通过使用underline.js包中的u.pulk对不同集合的日期进行分组。我想我已经具备了前进的所有条件!非常感谢你,马特。
{{#each reservations}}
    {{reservations.name}}
{{/each}}