Node.js 日期字段查询结果到js函数

Node.js 日期字段查询结果到js函数,node.js,mongodb,keystonejs,bootstrap-daterangepicker,Node.js,Mongodb,Keystonejs,Bootstrap Daterangepicker,在KeystoneJS pug视图中,我需要将一个日期范围为2个MongoDB日期字段的数组传递给daterangepickerisInvalidDate 控制器中的查询是: view.query('booked', Booking.model.find({}, 'startDate endDate')); 在jade视图中=booked返回: { _id: 58f71314a20fc062ee02f4df, startDate: 2017-04-18T21:00:00.000Z, endDa

在KeystoneJS pug视图中,我需要将一个日期范围为2个MongoDB日期字段的数组传递给daterangepicker
isInvalidDate

控制器中的查询是:

view.query('booked', Booking.model.find({}, 'startDate endDate'));
在jade视图中
=booked
返回:

{ _id: 58f71314a20fc062ee02f4df, startDate: 2017-04-18T21:00:00.000Z,
endDate: 2017-04-19T21:00:00.000Z },{ _id: 58f8768c0741e2118b1efe43,
startDate: 2017-04-23T21:00:00.000Z, endDate: 2017-04-25T21:00:00.000Z },{...
在jade view js块中,以下代码段:

var books =!{JSON.stringify(booked, ['startDate', 'endDate'])};
返回:

startDate: 2017-04-18T21:00:00.000Z
endDate: 2017-04-19T21:00:00.000Z

startDate: 2017-04-23T21:00:00.000Z
endDate: 2017-04-25T21:00:00.000Z
如何格式化
startDate
endDate
属性以获得结果:

["04/18/2017", "04/19/2017", "04/23/2017", "04/25/2017"]

(没有标签,只有日期值,用逗号分隔)

作为Pug变量而不是JavaScript变量公开。要将一个Pug变量(从数据库)传递到JavaScript,必须将该变量的直接内容嵌入页面中,然后将其作为JSON检索

"isInvalidDate": function (date) {
    var books = !{JSON.stringify(books)}; // Now an array of objects
    // Your other code
},


由于日期在数据库中的格式不同,代码的其余部分需要更改,但是
books
现在将成为您需要的对象数组。如果要比较格式日期
MM/DD/YYYY
书籍中的
endDate
startDate
属性需要正确格式化以进行比较(或者
-1
将始终返回).

在代码中,为将其传递给js函数而定义的
booked
在何处?
booked
是控制器中每个文档的视图查询中的一个键:view类还提供了一个查询(key、query、options)方法,在呈现视图之前将mongoose查询排队以供执行。查询的结果以局部值[key]设置。键可以是嵌套路径,包含将根据需要创建的对象。第三个参数可以是在查询完成后调用的方法,如函数(err、results、callback)或与填充相关的定义(字符串或数组)。