Each query displays a default set of fields in the output. Using the .include
element you can override this default setting and specify any particular set of fields you want to receive in the output.
Use: . include("<field1>", "<field2>"...)
For example:
//Find all items, only display the "name" and "repo" fields items.find().include("name", "repo")
You can also display specific fields from other entities associated with those returned by the query.
If you specify any field from the item domain, then this will override the default output setting, and only the item fields you expressly specified will be displayed.
If you only specify fields from the property or stat domains, then the output will display the default fields from the item domain, and in addition, the other fields you expressly specified from the property or stat domains.
For example:
//Find all items, and display the "name" and "repo" fields as well as the number of "downloads" from the corresponding "stat" entity items.find().include("name", "repo", "stat.downloads") //Find all items, and display the default item fields fields as well as the stat fields items.find().include("stat") //Find all items, and display the default item fields as well as the stat and the property fields items.find().include("stat", "property") //Find all items, and display the "name" and "repo" fields as well as the stat fields items.find().include("name", "repo", "stat") //Find all builds that generated items with an Apache license, and display the build fields as well as the item "name" fields. Click below to view the output of this query builds.find({ "module.artifact.item.@license":{"$match":"Apache*"} } ).include("module.artifact.item.name")