getDocumentByKey (NotesView - JavaScript)

Finds a document based on its column values within a view. You create a key or vector of keys, where each key corresponds to a value in a sorted column in the view. The method returns the first document with column values that match the keys.

Defined in

NotesView

Syntax

getDocumentByKey(key:any) : NotesDocument

getDocumentByKey(keys:java.util.Vector) : NotesDocument

getDocumentByKey(key:any, exact:boolean) : NotesDocument

getDocumentByKey(keys:java.util.Vector, exact:boolean) : NotesDocument

Parameter Description
key A String, Number, NotesDateTime, or NotesDateRange object that is compared to the first sorted column in the view.
keys String, Number, NotesDateTime, or NotesDateRange objects that are compared to sorted columns in the view. The first element in the vector is compared to the first sorted column in the view; the second element is compared to the second sorted column; and so on.
exact Specify true if you want to find an exact match. If you specify false or omit this parameter, a partial match succeeds.
Return value Description
NotesDocument The first document in the view with column values that match the keys. Returns null if there are no matching documents.

Usage

For the this method to work, you must have at least one column sorted for every key in the vector.

This method returns only the first document with column values that match the strings you indicate. To locate all matching documents, use getAllDocumentsByKey.

Matches are not case-sensitive. For example, "Turban" matches "turban". In an exact match, "cat" matches "cat" but does not match "category," while "20" matches "20" but does not match "201." In a partial match, "T" matches "Tim" or "turkey," but does not match "attic," while "cat" matches "catalog" or "category," but does not match "coat" or "bobcat." To get view entry information about the document, use the getEntryByKey method.

If any columns are formatted with both categories and subcategories in the same column (using the "\\" special character), the method will not find the document.

Examples

This button gets the first document in a view whose first sorted column starts with a specified string.
var v:NotesView = database.getView("main");
var doc:NotesDocument = v.getDocumentByKey(requestScope.query);
if (doc == null) {
	requestScope.status = "No subject starting with that query";
	return;
}
requestScope.status = doc.getItemValueString("subject");
This button gets the first document in a view whose first sorted column starts with ???Category 1??? and whose second sorted column starts with a specified string.
var v:NotesView = database.getView("categorized");
var query = new java.util.Vector();
query.addElement("Category 1");
query.addElement(requestScope.query);
var doc:NotesDocument = v.getDocumentByKey(query);
if (doc == null) {
	requestScope.status = "No subject starting with that query";
	return;
}
requestScope.status = doc.getItemValueString("subject");