Test Enterprise-Class Web CMS Scrivito Free for 30 Days
Test Scrivito Free for 30 Days

Obj.where(attribute, operator, value, boost)

Returns an ObjSearch with the given initial subquery based on the specified arguments.

Note that attribute and value can also be arrays for searching several attributes or values. For detailed information see ObjSearch.

blogPosts = [...Scrivito.Obj.where('_objClass', 'equals', 'BlogPost').order('publishedAt', 'desc')];

Params

  • attribute (String or Array<String>) - See ObjSearch for details.
  • operator (String) - See Search operators for details.
  • value (String, Date, Time, Number, Obj, or Array<String>) - See ObjSearch#and for details.
  • boost (optional) (Object) - See ObjSearch#and for details.

Returns

ObjSearch

Remarks

[New in 1.24.0]If the strictSearchOperators option is set to true in Scrivito.configure, this method does not accept the contains and containsPrefix operators for full-text searches. Use the whereFullTextOf method instead.

Examples

Perform a full-text search and iterate the matching CMS objects.

objSearch = Scrivito.Obj.where("*", "containsPrefix", "web");
for (var obj of objSearch) {
  console.log(obj.get("title"));
}

Print the top results of a full-text search. Matches in permalinks and headline attributes are boosted (i.e. ranked higher):

top10 = Scrivito.Obj.where("*", "contains", "content", {
  _permalink: 2,
  headline: 1,
}).take(10);

for (var obj of top10) {
  console.log(obj.get("title"), obj.permalink());
}