【发布时间】:2018-12-08 05:40:18
【问题描述】:
我有 MongoDB Collection,我的请求如下
这有效:(仅返回 frequency:1 记录)
http://localhost:3000/words?frequency=1
这有效:(仅返回 difficulty:2 记录)
http://localhost:3000/words?difficulty=2
这可行,但不是我想要的
http://localhost:3000/words?frequency=1&difficulty=2
此查询不会返回同时具有
frequency=1和difficulty=2值。但我只想得到 bothfrequency=1,difficulty=2值。这个查询应该只返回
"word":"first",但返回"word":"first"和"word":"fourth"
MongoDB 集合示例:
{
"word": "first",
"frequency": 1,
"difficulty": 2
},
{
"word": "second",
"frequency": 1,
"difficulty": 1
},
{
"word": "third",
"frequency": 2,
"difficulty": 1
},
{
"word": "fourth",
"frequency": 2,
"difficulty": 2
},
这是我的查询:
const difficulty = req.query.difficulty;
const frequency = req.query.frequency;
Words.find( { $or: [ { difficulty: difficulty }, { frequency: frequency }, { $and: [ { difficulty: difficulty }, { frequency: frequency } ] } ] } )
我从昨天开始尝试解决这个问题,但我无法解决,感谢您的帮助(对不起我的英语)
已解决:根据条件解决
【问题讨论】:
标签: node.js database mongodb express mongoose