Can I search group channels by metadata?

Hi,

I want to search for a specific group channel by its metadata. In the documentation, mentioned that I can use MetaDataOrderKeyFilter to filter Group channels with metadata containing an item with the specified value as its key

For example, I already defined metadata when creating a channel:

var data = {
  'propertyName': 'awesome name',
};

then I implemented metadataOrderKeyFilter when retrieving the channel list:

var myChannelListQuery = sb.GroupChannel.createMyGroupChannelListQuery();
myChannelListQuery.includeEmpty = true;
myChannelListQuery.metadataOrderKeyFilter = 'awesome name';

myChannelListQuery.next(function(groupChannels, error) {
	if (error) {
		return;
	}
	console.log(groupChannels);
});

But the result is the same without implement this part myChannelListQuery.metadataOrderKeyFilter = ‘awesome name’;

The Metadata filter works off of additional metadata associated with the channel, not the data element in the channel.

See the documentation here:

I just realized you may actually be doing that. However, the SDK filter is on the key, not the value. You are using the value in the key:value pair, but it filters on the key.

You have more flexibility in the Platform API, but you would need to do that server side.
You can list channels with a metadata_key:metadata_values pair. (or even a metadata_value_startswith)

1 Like

Thank you for the explanation @Doug_Exner