如何在猫鼬中获取特定日期的数据?
const orderSchema = new Schema({
foods: [
{
food: { type: Object, required: true },
quantity: { type: Number, required: true }
}
],
shopId:{
type: Schema.Types.ObjectId,
required: true,
}
},{ timestamps: { createdAt: 'created_at' } });
我尝试了以下方法,但是它不起作用
const dat=new Date(2020,07,23);
const ndat=new Date(2020,07,24);
const sid=req.shop._id;
Order.find({shopId:sid,created_at: {$gte: dat, $lt: ndat}})
.then(data=>{
res.send(data);
})
我需要获取特定日期的订单详细信息。
答案 0 :(得分:1)
似乎您有语法错误:
const dat=new Date(2020,07,23);
const ndat=new Date(2020,07,24);
const sid=req.shop._id;
Order.find({shopId:sid,created_at: {"$gte": dat, "$lt": ndat}})
.then(data=>{
res.send(data);
})
这也可以
const sid=req.shop._id;
Order.find({shopId:sid,created_at: {"$gte": new Date(2020,07,23), "$lt": new Date(2020,07,24)}})
.then(data=>{
res.send(data);
})
答案 1 :(得分:0)
MongoDB存储时间戳,而不存储日期。确保将传递的日期转换为涵盖订单的时间戳,并确保您的订单具有您认为具有的创建时间戳。
使用mongo shell来查找数据库中实际存储的内容,并先在mongo shell中运行查询,然后再尝试在应用程序中进行查询。