javascript - 基于变量的动态 $in 运算符

标签 javascript mongodb mongodb-query

我有一个变量,基于该值,我想更改 mongo 查询中的 $in 运算符。

我的代码-

var query_op = "$in";
if (criteria.group === "abc")
{
var query_op = "$nin";
}

然后

var query = Model.find(
                {
                    _id:
                        {
                            $in: query_op 
                        }
                        ,
...........................
});

是否可以这样使用?

非常感谢任何帮助。

最佳答案

我认为在 JavaScript 中你可以使用方括号动态定义对象的键,试试:

var query_op = "$in";
if (criteria.group === "abc")
{
    var query_op = "$nin";
}

var query = Model.find(
            {
                _id:
                    {
                        [query_op]: listOfIds
                    }
});

关于javascript - 基于变量的动态 $in 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56672207/

相关文章:

javascript - 用文本省略号在同一行显示 2 个文本

arrays - 输出mongoose中的所有文档

mongodb - 如何返回文档的位置,相对于 MongoDB 中的集合(可扩展)

arrays - MongoDB 未正确查询给定位置数组内的 `null`

c# - 如何在 C# 中使用 Mongodb.Driver 对 MongoDb 表中的数组对象应用过滤器?

javascript - Handlebars : How to reuse template after dynamically updating array of objects

javascript - 使用 Resharper 运行 jasmine 测试时设置特定端口?

javascript - 以原子方式更新数组项

php - 使用映射和聚合将 Mongodb shell 查询转换为 php

javascript - JavaScript 中的数组和对象处理用于获取 highchart json 数据