What does the noquery attribute do in a CND node type definition?
Question
What does the noquery attribute do in a CND node type definition?
Answer
noquery is a node type attribute in a .cnd definition file. It marks the
type as not queryable, so nodes of that type are excluded from JCR query results.
[mynt:internalThing] > jnt:content noquery
The short form nq is accepted and means the same thing.
Jahia's CND reader maps the keyword straight onto the node type's queryable flag:
noquery sets it to false, and the opposite keyword query sets it to true.
The default is true, so a type is queryable unless you say otherwise. Jahia
writes the attribute back out when it exports a definition, so a round trip
preserves it.
It sits in the same position as the other node type attributes:
[mynt:thing] > jnt:content mixin abstract orderable noquery
Do not confuse it with noqueryorder
noqueryorder (short form nqord) is a property attribute, not a node type
attribute, and it means something different: that property cannot be used to
order query results.
[mynt:thing] > jnt:content
- myProp (string) noqueryorder
Same prefix, different level, different effect. noquery hides the whole type
from queries; noqueryorder only forbids sorting on one property.
When you will actually meet it
On a stock Jahia 8.2.3.2, none of the 430 registered node types uses
noquery. It exists for custom definitions - typically internal or technical
types you do not want surfacing in content queries, search results or pickers -
rather than for anything Jahia ships.
This article was drafted with AI assistance, then reviewed and curated by Jahia Customer Support engineers before publication.