我有一个这样的模式设计:
const UserDataFrameWork = new mongoose.Schema({
HighScores: {
Dodge: {
TenCent: {type:Number, default: 0},
FiftyCent: {type:Number, default: 0},
Dolsu: {type:Number, default: 0},
FiveDolsu: {type:Number, default: 0},
TenDolsu: {type:Number, default: 0},
FiftyDolsu: {type:Number, default: 0},
},
example: {
test: {type:Number, default: 0}
}
}
}
const User = mongoose.model('User', UserDataFrameWork)
module.exports = User
我正在尝试查找在Dodge.Tencent中高分为0的用户,如下所示:
const express = require('express')
const router = express.Router();
const DB = require('../models/User')
router.get('/', async (req,res) =>{
const Tgames = await DB.find({"HighScores.Dodge.TenCent": 0})
console.log(Tgames)
res.render('testejs.ejs')
})
module.exports = router;
这不起作用,我不知道如何根据嵌套对象的值来查找。在mongoose模式中,对象内部是否有可能有对象?我对mongoose很陌生,如果我做错了什么,很抱歉?任何帮助都是感激的!
2条答案
按热度按时间oyjwcjzk1#
我的一个嵌套查询如下所示:
您是否测试过:
cczfrluj2#
我找到了答案!不是我的问题,但是,我不再坚持这个问题了。所以当我试图找到值为0的东西时,它没有返回任何东西,但是当我试图找到值为2的东西时,它返回了。如果我找不到值为0的东西,这不是问题,因为我相信它和undefined是一样的,因为我已经将默认值设置为0。