diff --git a/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java b/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java index 190105e0..7269af2c 100644 --- a/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java +++ b/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java @@ -331,12 +331,12 @@ public class QueryCriteria implements QueryCriteriaDefinition { } public QueryCriteria arrayContaining(boolean ignoreCase, @Nullable Object o) { - operator = "array_containing"; + operator = "array_contains"; if (ignoreCase) { throw new CouchbaseException("ignoreCase not supported in IN and NOT_IN"); } value = new Object[] { o }; - format = "array_containing(%1$s, %3$s)"; + format = "array_contains(%1$s, %3$s)"; return this; } diff --git a/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java b/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java index e6e749f1..9005bd5b 100644 --- a/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java +++ b/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java @@ -133,6 +133,11 @@ class CouchbaseTemplateQueryIntegrationTests extends JavaIntegrationTests { .matching(specialUsers).all(); assertEquals(1, foundUsers.size()); + + Query arrayContaining = new Query(QueryCriteria.where(i("firstname")).arrayContaining("not_match_anything")); + final List foundArrayContaining = couchbaseTemplate.findByQuery(User.class).withConsistency(REQUEST_PLUS) + .matching(arrayContaining).all(); + assertEquals(0, foundArrayContaining.size()); } @Test diff --git a/src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java b/src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java index 0b701417..2c24b1b0 100644 --- a/src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java +++ b/src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java @@ -180,7 +180,7 @@ class QueryCriteriaTests { @Test void testArrayContaining() { QueryCriteria c = where(i("name")).arrayContaining("Elvis"); - assertEquals("array_containing(`name`, \"Elvis\")", c.export()); + assertEquals("array_contains(`name`, \"Elvis\")", c.export()); } @Test