У меня есть два массива, содержащие только строки, которые я хотел бы сопоставить.
Я не могу использовать contains или setIntersection, потому что я хочу, чтобы также работало совпадение без учета регистра.
Я пробовал много разных способов, но я не нашел рабочего решения. Я думаю, что это лучшее, что я придумал до сих пор, но это не работает:
r.db( 'my_db' ).table( 'Table' ).hasFields( 'tags' ).filter( function( row ) {
return row( 'tags' ).filter( function( t ) {
return r.expr( [ 'Foo', 'Bar', 'FooBar' ] ).filter( function( m ) {
return t.match( '(?i)^' + m + '$' );
} ).count().gt( 0 );
} ).count().gt( 0 );
} );
столбец тегов представляет собой массив строк. Но я думаю, проблема в том, что m не является строкой, поэтому я не могу использовать ее с матчем. Но как я могу преобразовать его в строку? Я пробовал coerceTo, но это не работает.
Любые идеи о том, как заставить это работать?