Querying By ID
The examples in this section show you how to query for a single document ID.
This example retrieves a single document identified by the ID
user001
.
NOTE
To query for a range of document IDs, you must specify an OJAI QueryCondition. See Querying with Conditions for examples of the syntax./** * Copyright (c) 2017 MapR, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.mapr.ojai.examples; import org.ojai.Document; import org.ojai.store.Connection; import org.ojai.store.DocumentStore; import org.ojai.store.DriverManager; public class OJAI_003_FindById { public static void main(String[] args) { System.out.println("==== Start Application ==="); // Create an OJAI connection to MapR cluster final Connection connection = DriverManager.getConnection("ojai:mapr:"); // Get an instance of OJAI DocumentStore final DocumentStore store = connection.getStore("/demo_table"); // fetch the OJAI Document by its '_id' field final Document userDocument = store.findById("user0001"); // Print the OJAI Document System.out.println(userDocument.asJsonString()); // Close this instance of OJAI DocumentStore store.close(); // close the OJAI connection and release any resources held by the connection connection.close(); System.out.println("==== End Application ==="); } }
This example retrieves a single document identified by the ID
user0001
.
NOTE
To query for a range of document IDs, you must specify an OJAI query condition. See
Querying with Conditions for examples of the
syntax./* * Copyright (c) 2018 MapR, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ const { ConnectionManager } = require('node-maprdb'); const connectionString = 'localhost:5678?' + 'auth=basic;' + 'user=mapr;' + 'password=mapr;' + 'ssl=true;' + 'sslCA=/opt/mapr/conf/ssl_truststore.pem;' + 'sslTargetNameOverride=node1.mapr.com'; let connection; ConnectionManager.getConnection(connectionString) .then((conn) => { connection = conn; // Get a store return connection.getStore('/demo_table'); }) .then((store) => { // fetch the OJAI Document by its '_id' field return store.findById('user0001'); }) .then((doc) => { // Print the OJAI Document console.log(doc); connection.close(); });
This example retrieves a single document identified by the ID
user0001
.
NOTE
To query for a range of document IDs, you must specify an OJAI QueryCondition. See Querying with Conditions for examples of the syntax.from mapr.ojai.storage.ConnectionFactory import ConnectionFactory # Create a connection to data access server connection_str = "localhost:5678?auth=basic;user=mapr;password=mapr;" \ "ssl=true;" \ "sslCA=/opt/mapr/conf/ssl_truststore.pem;" \ "sslTargetNameOverride=node1.mapr.com" connection = ConnectionFactory.get_connection(connection_str=connection_str) # Get a store and assign it as a DocumentStore object store = connection.get_store('/demo_table') # fetch the OJAI Document by its '_id' field doc = store.find_by_id("user0001") # Print the OJAI Document print(doc) # close the OJAI connection connection.close()
The following is the equivalent of the code examples using dbshell. See dbshell find or findbyid for more details about the syntax dbshell provides.
# mapr dbshell
maprdb root:> findbyid /demo_table --id user0001
This example retrieves a single document identified by the ID
user0001
.
NOTE
To query for a range of document IDs, you must specify an OJAI QueryCondition
. See Querying with Conditions for examples of the syntax.using System; using MapRDB.Driver; public class FindById { public void FindById() { // Create a connection to data access server var connectionStr = $"localhost:5678?auth=basic;" + $"user=mapr;" + $"password=mapr;" + $"ssl=true;" + $"sslCA=/opt/mapr/conf/ssl_truststore.pem;" + $"sslTargetNameOverride=node1.mapr.com"; var connection = ConnectionFactory.CreateConnection(connectionStr); // Get a store and assign it as a DocumentStore object var store = connection.GetStore("/demo_table"); // Fetch the OJAI Document by its '_id' field var document = store.FindById("user0001"); // Print the OJAI Document Console.WriteLine(document); // Close the OJAI connection connection.Close(); } }
This example retrieves a single document identified by the ID
user0001
.
NOTE
To query for a range of document IDs, you must specify an OJAI Condition. See Querying with Conditions for examples of the syntax.package main import ( "fmt" client "github.com/mapr/private-maprdb-go-client" ) func main() { // Create connection string connectionString := "192.168.33.11:5678?" + "auth=basic;" + "user=mapr;" + "password=mapr;" + "ssl=true;" + "sslCA=/opt/mapr/conf/ssl_truststore.pem;" + "sslTargetNameOverride=node1.cluster.com" storeName := "/demo_table" // Create a connection to DAG connection, err := client.MakeConnection(connectionString) if err != nil { panic(err) } // Get a store and assign it as a DocumentStore struct store, err := connection.GetStore(storeName) if err != nil { panic(err) } // Fetch the OJAI Document by its '_id' field doc, err := store.FindByIdString("id0001") if err != nil { panic(err) } // Print the OJAI Document fmt.Println(doc.AsJsonString()) // Close connection connection.Close() }