mongoid ruby我正在尝试创建一个语句,其中我们基于两个条件进行过滤

j2datikz  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(254)

我正在尝试筛选数组,以便field1输出不包含任何field1:true或(field2:true,field1:nil)的条目
这句话有用吗?

user.array.where(timestamp: time_window)
            .ne(
                {
                  $or => [
                          { field1: true },
                          { field2: true, field1: nil }
                         ]
                }
              )

目前,我得到的所有条目意味着没有过滤发生?

cl25kdpy

cl25kdpy1#

mongodb没有表达式级别的$not运算符,但可以使用$and和$nor进行仿真:

user.array.where(timestamp: time_window)
            .where(
                {
                  $nor => [
                          { field1: true },
                         ]
                }
              )
            .where(
                {
                  $nor => [
                          { field2: true, field1: nil }
                         ]
                }
              )

相关问题