Mongodb - 잘못된 쿼리: 잘못된 값 알 수 없는 최상위 연산자: $gte
이 쿼리의 문제점은 무엇입니까?mongodb 서버에서 실행하려고 했는데 "exception: bad query: Bad Value unknown top level operator: $gte"라는 오류가 발생했습니다.누가 그것에 무슨 문제가 있는지 말해줄 수 있습니까?
db.scores.aggregate([
{
$match: {
$or: [
{ $gte: [ "$score", 30 ] },
{ $lte: [ "$score", 60 ] }
]
}
},
{
$group: {
_id: "$gamer",
games: { $sum: 1 }
}
}
])
표본 데이터:
{
"_id" : "545665cef9c60c133d2bce72",
"score" : 85,
"gamer" : "Latern"
}
/* 1 */
{
"_id" : "545665cef9c60c133d2bce73",
"score" : 10,
"gamer" : "BADA55"
}
/* 2 */
{
"_id" : "545665cef9c60c133d2bce74",
"score" : 62,
"gamer" : "BADA55"
}
/* 3 */
{
"_id" : "545665cef9c60c133d2bce75",
"score" : 78,
"gamer" : "l00ser"
}
/* 4 */
{
"_id" : "545665cef9c60c133d2bce76",
"score" : 4,
"gamer" : "l00ser"
}
/* 5 */
{
"_id" : "545665cef9c60c133d2bce77",
"score" : 55,
"gamer" : "FunnyCat"
}
당신이 잘못했어요.해야 할 일:
db.scores.aggregate([
{ "$match": {
"score": { "$gte": 30, "$lte": 60 }
}},
{ "$group": {
"_id": "$gamer",
"games": { "$sum": 1 }
}}
])
이것이 실제 조건이 "및"이고 따라서 지정된 피연산자 사이에" 있는 "범위" 쿼리를 지정하는 적절한 방법입니다.
MongoDB 버전 3.6 이후에는 $expr을 사용하여 쿼리 내에서 집계 식을 사용할 수 있습니다.따라서 쿼리를 다음으로 다시 작성할 수 있습니다.
db.scores.aggregate([
{
$match: {
$expr: {
$or: [
{ $gte: ["$score", 30] },
{ $lte: ["$score", 60] }
]
}
}
},
{
$group: {
_id: "$gamer",
games: { $sum: 1 }
}
}
]);
이게 나 같은 사람에게 도움이 될지도...나의 경우에는field
null이며 알 수 없는 최상위 연산자인 $in, MongoDb 예외 오류가 발생했습니다.
private <T> void addQueryCondition (Query query, String field , List<T> valuesList ) {
if (!CollectionUtils.isEmpty(valuesList)) {
query.addCriteria(Criteria.where(field).in(valuesList).exists(true));
}
}
다음과 같이 cmd 프롬프트에 명시적으로 패키지를 포함해야 합니다.npm i regex
다음과 같이 서비스를 변경합니다.
const kidDetails = await this.studentModel.find({ name:{$regex: new RegExp('.*' + studName, 'i') }} );
언급URL : https://stackoverflow.com/questions/26755391/mongodb-bad-query-badvalue-unknown-top-level-operator-gte
'source' 카테고리의 다른 글
_로 시작하는 변수 이름은 무엇을 의미합니까? (0) | 2023.06.24 |
---|---|
Oracle: RAISE_APPLICATION_ERROR를 사용하는 상황은 무엇입니까? (0) | 2023.06.24 |
두 Python 사전에 포함된 키의 차이 계산 (0) | 2023.06.24 |
CX_Oracle - Oracle에서 Pandas 데이터 프레임으로 데이터 가져오기 (0) | 2023.06.24 |
Spring Boot 및 OAuth2 예제에서 기본값 이외의 암호 부여 자격 증명을 사용하는 방법 (0) | 2023.06.24 |