mongodb(mongoose)中$ match和find之间的区别是什么?

时间:2017-10-19 10:52:41

标签: mongodb mongoose mongodb-query

我有一个非常简单的数据库模型:

const MyModel = mongoose.Schema(
    {
        name: {type: String, unique: true, index: true}
    },
    {
        timestamps: {createdAt: 'createdAt'}
    }
);

然后是一个数据库条目:

{name: 'TEST1, createdAt: '2017-10-19T08:15:52.443Z'}

当我运行.find()

MyModel.find({createdAt: {$gte: moment('2017-10-19').toISOString()}}).exec();

我按预期获得搜索结果:

[
        {
            "_id": "59e85f38368dac5f372af352",
            "name": "TEST1",
            "createdAt": "2017-10-19T08:15:52.443Z",
            "__v": 1
        }
]

但是当我使用.aggregate()

MyModel.aggregate(
                {
                    $match: {
                        createdAt: {$gte: moment('2017-10-19').toISOString()}
                    }
                }
).exec()

它不会返回任何内容

[]

我做错了什么?

0 个答案:

没有答案