繁体   English   中英

Mongoose:如何根据嵌套的 object 值查找()

[英]Mongoose: How to find() based on nested object value

我有一个这样的模式设计:

 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;

这行不通,我无法弄清楚如何根据嵌套 object 的值进行查找。在 mongoose 架构中,object 内部甚至可能有 object 吗? 我是 mongoose 的新手,如果我做错了什么,我很抱歉? 任何帮助表示赞赏!

我的嵌套查询之一如下所示:

let ppdata = await Pallet.find({sscc: {$in: ssccArray}, 'po.edi_file_name': /PO/i }, ' sscc po.season po.edi_file_name').slice('po', -1).lean().exec();

你有没有测试过:

const Tgames = await DB.find({"HighScores.Dodge.TenCent": 0}).exec() 

我找到了答案,不是我的问题而是。 我不再坚持这个了,所以当我试图找到()值为 0 的东西时,它没有返回任何东西。 但是当我试图找到值为 2 的东西时,它返回了,如果我找不到任何值为 0 的东西,这不是问题,因为我相信它与未定义相同。 因为我已经将默认设置为 0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM