MongoDB查找嵌入的属性和时间的比较

schema为:

var AccountsSchema = new mongoose.Schema({

    addr_wallet: String, 
    addr_dapp: String,
    amount: Number,
    interest: Number,
    date: String,
    rate: Number,
    meta: { 
        createAt: {
            type: Date,
            default: Date.now()
        },
        updateAt: {
            type: Date,
            default: Date.now()
        }
    }

}, {collection: 'accounts'});

想要根据meta的createAt字段来查找。

可以这样写:

db.accounts.find({"meta.createAt": {$lt: new Date(1522289265215)}})。
1522289265215为时间戳,$lt为保留的比较符号。
对于嵌入属性,可以使用点操作符,不过需要使用引号括起来,如果需要判断一个区间,需要写在“{}”中,且以逗号分隔,例如:

db.accounts.find({"meta.createAt": {$lt: new Date(1522289265215), $gt: new Date(1522289265220)}})。

如果不写在“{}”中,则会出现问题,暂时没有找到官方的说法。

posted on 2018-03-30 12:33  chaiyu2002  阅读(108)  评论(0编辑  收藏  举报

导航