【发布时间】:2023-04-07 12:43:01
【问题描述】:
{
"_id": "1",
"style": "13123",
"category": "dress",
"colors": {
"Black": {
"prestock": 50,
"instock": 60,
"inactive": 0
},
"Blue": {
"prestock": 30,
"instock": 0,
"inactive": 0
},
"Red": {
"prestock": 10,
"instock": 60,
"inactive": 0
}
}
}
我有上面的 json,我需要访问 prestock、instock 和 inactive。 但是颜色的值会根据样式而变化。 例如:
{
"_id": "2",
"style": "14321",
"category": "top",
"colors": {
"Green": {
"prestock": 50,
"instock": 60,
"inactive": 0
},
"Yellow": {
"prestock": 50,
"instock": 60,
"inactive": 0
}
}
}
我如何在 mongodb 中查询这个? 这会和 Object.keys(obj) 有关吗?
ps.如果这是一个重复的问题,请指导我!
谢谢!
【问题讨论】:
-
你想从中得到什么?
-
@user10 我需要访问 prestock、instock 和 inactive 的值
-
访问这些值并不难一旦你的代码中有对象,你可以在那里使用javascript。如果你想查询它,你必须知道什么你想查询,即
Green或Yellow的instock值?或者你想要什么。像“库存> 0的任何颜色”?在这种情况下,您最好更改架构。 -
@mnemosyn 我需要这样的东西:{"colors.anycolor":{"prestock":{$gte:30}}}
-
@wisleans 你不能那样查询,这就是为什么你应该坚持使用他的回答中建议的像 mnemosyn 这样的数组。
标签: javascript node.js mongodb mongodb-query