我正在尝试使用mongodb和mongoose返回给定日期查询的匹配记录,但是所有行都将返回。
下面是我的代码和模型架构。 todaydate
的类型为日期。
Mongodb数据:
{
_id:ObjectId("5edd1df67b272e2d4cf36f70"),
pname:"Test 1",
category:"Choco 1",
todaydate:2020-06-01T18:30:00.000+00:00
},
{
_id:ObjectId("5gdd1df67b272e2d4cf36f72"),
pname:"Test 2",
category:"Choco 3",
todaydate: 2020-06-02T18:30:00.000+00:00
},
{
_id:ObjectId("5kdd1df67b272e2d4cf36f74"),
pname:"Test 5",
category:"Choco 6",
todaydate: 2020-05-01T18:30:00.000+00:00
},
{
_id:ObjectId("5ewd1df67b272e2d4cf36f75"),
pname:"Test 6",
category:"Choco 8",
todaydate: 2020-06-03T18:30:00.000+00:00
}
data.model.js:
const mongoose = require('mongoose');
var userSchemaDate = new mongoose.Schema({
pname: {
type: String
},
category: {
type: String
},
todaydate: {
type: Date
}
}, {
versionKey: false,
collection: 'data'
});
module.exports = mongoose.model('Data', userSchemaDate);
data.controller.js:
module.exports.getReportTableData = (req, res, next) => {
var collection = req.query.collection;
let tabledata = dbc.model(collection);
let reportPar = new Date("2020-06-03"); //yyyy-mm-dd
tabledata.find({
todaydate: {
$gte: reportPar
}
}, function(err, docs) {
if (err) {
console.log(err);
return;
} else {
console.log("Successful loaded data");
res.json({ data: docs, msg: 'Data loaded.' });
}
});
}
答案 0 :(得分:0)
在您的示例中,我看不到任何有问题的地方-假设您的系统时钟没有完全关闭。
作为参考,以下代码段供您检查以与您的代码进行比较:
SQL> insert into test values ('group1', 'leader', 'joe');
1 row created.
SQL> insert into test values ('group1', null , 'diane');
1 row created.
SQL> insert into test values ('group1', null , 'john');
1 row created.
SQL> insert into test values ('group1', null , 'diane');
1 row created.
SQL> insert into test values ('group1', 'leader', 'mike'); --> another LEADER for GROUP1
insert into test values ('group1', 'leader', 'mike')
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.UI1T) violated
SQL> insert into test values ('group1', 'leader', null); --> another LEADER for GROUP1
insert into test values ('group1', 'leader', null)
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.UI1T) violated
SQL>