Javascript 无法使用日期(nodejs)查询mongoose数据

Javascript 无法使用日期(nodejs)查询mongoose数据,javascript,node.js,mongodb,mongoose,backend,Javascript,Node.js,Mongodb,Mongoose,Backend,我正在尝试查询所有“inputDate”介于startDate和endDate之间的帮助文档。我上网已经很久了,但我无法让它工作。支持检索数据库中当前唯一的文档。我正在使用NodeJS+Mongoose 控制器中的代码如下所示: exports.getOccupation = (req, res, next) => { var inputDate = new Date("1999","10","13","16

我正在尝试查询所有“inputDate”介于startDate和endDate之间的帮助文档。我上网已经很久了,但我无法让它工作。支持检索数据库中当前唯一的文档。我正在使用NodeJS+Mongoose

控制器中的代码如下所示:

exports.getOccupation = (req, res, next) => {


    var inputDate = new Date("1999","10","13","16","0","0");
   
    Assistance.find({
        dateInterval:{
            startDate: {$lte:inputDate},
            endDate: {$gte:inputDate}
        }
    })
    .then(assistances => {
        console.log(assistances.length);
    })

}
模型的代码:

const assistanceSchema = new Schema(
    {
        user_id:{
            type: Schema.ObjectId 
        },
        place:{
            longitude:{
                type:String
            },
            latitude:{
                type:String
            }
        },
        dateInterval:{
            startDate: Date,
            endDate: Date
        }       
    },
    {timestamps:true}
);


我不确定,但我相信find()方法接受dateInterval.startDate而不是dateInterval:{startDate:…}

尝试以下方式进行更改:

Assistance.find({
  $and: [
    { "dateInterval.startDate": { $lte: inputDate } },
    { "dateInterval.endDate": { $lte: inputDate } },
  ],
}).then((assistances) => {
  console.log(assistances.length);
});

也许这与您如何定义模型有关,或者与Mongo的连接方式有关。请加上这些代码好吗?另外,您的收藏的确切名称是什么?我相信您需要使用
$和
并将查询嵌套在它中。我与Mongo的连接很好,因为我的所有其他查询都可以正常工作。当我开始使用日期时,问题就出现了。在本例中,我的收藏名称是assistances,但正如我所说,我唯一的文档是图片中显示的文档。控制器代码应该检索该文档,日志应该打印1,但它打印0,因为它没有检索任何内容。谢谢MongoDB数据库中存储在UTC datetime中的数据。@prasad_uu你是什么意思?它可以工作!!!非常感谢你!!!这有点奇怪,因为我以前在find()方法中使用过这种格式,没有问题。可能是因为$gte方法或其他原因。无论如何,谢谢!