Rethinkdb 如何基于“过滤”;不可";对象而不是;“必须”;

Rethinkdb 如何基于“过滤”;不可";对象而不是;“必须”;,rethinkdb,Rethinkdb,filter函数可以接受对象作为定义必须匹配的字段的方式。有没有一个简单的方法来做相反的事情?我想筛选出与提供的对象不匹配的项。我知道.ne()函数,但这是一个完全匹配的函数。我现在正在做一系列的.和(),它变得有点难看。我只是在寻找魔法来证实。你可以使用r和来让事情变得更好 r.table("posts").filter(function(post) { return r.and( post("field1").ne("value1), post("fi

filter函数可以接受对象作为定义必须匹配的字段的方式。有没有一个简单的方法来做相反的事情?我想筛选出与提供的对象不匹配的项。我知道.ne()函数,但这是一个完全匹配的函数。我现在正在做一系列的.和(),它变得有点难看。我只是在寻找魔法来证实。

你可以使用
r和
来让事情变得更好

r.table("posts").filter(function(post) {
    return r.and(
        post("field1").ne("value1),
        post("field2").ne("value2),
        post("field3").ne("value3)
    )
})
您可以这样做:

```
r.table('posts').filter(function(post) {
  return post.merge({field1: value1, field2: value2}).ne(post)
})
```

基本上,将帖子与您想要“匹配”的对象合并,如果这改变了
post
的值,则将帖子包括在输出中。

谢谢。这就是我目前正在做的。我将以此确认不可能使用对象来代替您发布的代码示例。是ReqdDB的合适的Reql糖,我想考虑添加还是更好地留给社区驱动程序?这正是我想要的(足够接近)!谢谢这不会测试这三个字段是否都不同,但只测试其中一个字段是否不同。