Estoy tratando de escribir una consulta cts de javaScript para consultar una clave de un documento json basado en otra clave. es decir, similar a una consulta como seleccionar el nombre de la puesta en escena del concentrador de datos donde fuente = 'fuente1'
{ "source": "source1", "name": "John", "DOB": "1-01-1990", "load_date": "2021-10-23 10:23:55" }He estado probando la consulta a continuación, pero devuelve todos los campos, solo quería el campo de nombre.
const query = cts.jsonPropertyValueQuery( "source", "source1"); cts.search(query)El propósito de cts.search es ejecutar una búsqueda que devuelva documentos completos. cts.jsonPropertyValueQuery identifica un criterio para seleccionar un documento. Después de ejecutar la búsqueda, podrá extraer lo que quiera de ese documento. Creo que esto debería hacerlo:
const query = cts.jsonPropertyValueQuery( "source", "source1"); cts.search(query) .toArray() .map(doc => doc.root.name)Puede hacer algo similar con la API jSearch de MarkLogic:
import jsearch from '/MarkLogic/jsearch.mjs'; jsearch.documents() .where(jsearch.byExample({source: {$value: 'source1'}})) .map({extract: {paths: ['/name']}}) .result()