Skip to content

Commit 712d7d2

Browse files
authored
Fix arrayContaining n1ql generated. (#1548)
Closed #1545.
1 parent e590215 commit 712d7d2

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -331,12 +331,12 @@ public QueryCriteria arrayContaining(@Nullable Object o) {
331331
}
332332

333333
public QueryCriteria arrayContaining(boolean ignoreCase, @Nullable Object o) {
334-
operator = "array_containing";
334+
operator = "array_contains";
335335
if (ignoreCase) {
336336
throw new CouchbaseException("ignoreCase not supported in IN and NOT_IN");
337337
}
338338
value = new Object[] { o };
339-
format = "array_containing(%1$s, %3$s)";
339+
format = "array_contains(%1$s, %3$s)";
340340
return this;
341341
}
342342

spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java

+5
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,11 @@ void findByMatchingQuery() {
140140
.matching(specialUsers).all();
141141

142142
assertEquals(1, foundUsers.size());
143+
144+
Query arrayContaining = new Query(QueryCriteria.where(i("firstname")).arrayContaining("not_match_anything"));
145+
final List<User> foundArrayContaining = couchbaseTemplate.findByQuery(User.class).withConsistency(REQUEST_PLUS)
146+
.matching(arrayContaining).all();
147+
assertEquals(0, foundArrayContaining.size());
143148
}
144149

145150
@Test

spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ void testNotContaining() {
180180
@Test
181181
void testArrayContaining() {
182182
QueryCriteria c = where(i("name")).arrayContaining("Elvis");
183-
assertEquals("array_containing(`name`, \"Elvis\")", c.export());
183+
assertEquals("array_contains(`name`, \"Elvis\")", c.export());
184184
}
185185

186186
@Test

0 commit comments

Comments
 (0)