首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猫鼬如何在两个不同的日期内找到文档?

猫鼬如何在两个不同的日期内找到文档?
EN

Stack Overflow用户
提问于 2017-07-03 20:38:00
回答 1查看 458关注 0票数 0

这是我的天气模型:

代码语言:javascript
复制
// Declare schema
var weatherSchema = Schema({
    data: {
        type: Object
    },
    date: {
        type: String,
        required: true
    },
    created_at: {
        type: Date,
        default: Date.now,
        index: 1
    }
});

date字段中,我存储诸如2017-7-1,2017-7-2,2017-7-3等日期。

现在我在这个天气表上有很多文档,比如2017-6-20到2017-7-3。

因此,我只想从2017-7-1检索到2017-7-2的文档:

代码语言:javascript
复制
Weather
.find({})
.where('date').gt('2017-7-1').lt('2017-7-2')
.exec(function (err, docs) {
    console.log(docs);
    if (err) {
        res.set('Content-Type', 'application/json');
        return res.sendStatus(-1);
    }

    if (!docs) {
        res.set('Content-Type', 'application/json');
        return res.status(200).send('Not weather data found.');
    }
    // return docs as json.
    return res.status(200).json(docs);
});

但我得到的是[]。我做错了什么?

有什么想法吗?

编辑:

以上正式格式 不工作,但它适用于以下格式:

代码语言:javascript
复制
var options =  {
    "date": {
        "$gte": start,
        "$lt": end
    }
}

Weather
.find(options, function (err, docs) {
    console.log(docs);
    if (err) {
        res.set('Content-Type', 'application/json');
        return res.status(200).send('Error occurs: ' + err);
    }

    if (!docs) {
        res.set('Content-Type', 'application/json');
        return res.status(200).send('Not weather data found.');
    }
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET,POST,DELETE');

    // return docs as json.
    return res.status(200).json(docs);
}).select("-created_at -_id -__v");

为什么?

EN

回答 1

Stack Overflow用户

发布于 2017-07-03 22:28:01

要比较日期,date字段应该是Date类型。然后你可以搜索如下:

代码语言:javascript
复制
.where('date').gt(new Date('2017-7-1')).lt(new Date('2017-7-2'))

或者,如果要将日期用作字符串,可以这样搜索:

代码语言:javascript
复制
.where('date').in(['2017-7-1', '2017-7-2'])

此查询将找到具有确切日期字符串(“2017-7-1”或“2017-7-2”)的条目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44893580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档