推定所要時間: 5 分
To use MongoDB Search Community Edition, you must connect to your MongoDB Community deployment. Use the following methods to connect to your MongoDB Community deployment:
The MongoDB Shell, an interactive command line interface to MongoDB.
MongoDB Compass, a GUI for your MongoDB data.
A MongoDB driver. To see all available languages, refer to the MongoDB Driver documentation.
➤ Use the Select your language drop-down menu to set the client for the procedure on this page.
前提条件
Before you start, you must have the following prerequisites:
MongoDB Community and MongoDB Search Community
注意
Make sure that both the
mongod
andmongot
processes are running.Valid username and password to connect
If you haven't already created a user on your replica set, run the following commands in your terminal to create a user:
Connect to replica set by using
mongosh
.mongosh Run the following commands to create a
mongotUser
user in theadmin
database with thesearchCoordinator
role. MongoDB uses themongotUser
user to authenticatemongot
withmongod
.use admin db.createUser( { user: "mongotUser", pwd: passwordPrompt(), roles: [ { role: "searchCoordinator", db: "admin" } ] } ) Users with the
searchCoordinator
role havereadAnyDatabase
privileges and write permissions on the__mdb_internal_search
database.重要
Do not modify the contents of the
__mdb_internal_search
database.
Connection string to the replica set
The connection string for a replica set includes all member nodes. Therefore, you need the replica set name and the hostnames or IP addresses and ports of all the replica set members to connect.
MongoDB Compass
ターミナル
テキストエディタ
A C# project
プロジェクトを初期化するには、プロジェクト ディレクトリで
dotnet new console
コマンドを実行します。詳細については、 「C# クイック スタート」を参照してください。
ターミナル
テキストエディタ
A Go project
プロジェクトを初期化するには、
go mod
コマンドを使用します。詳細については、 「Go クイック スタート」を参照してください。MongoDB Go ドライバー
To download and install the Go driver and driver dependencies, run the following commands:
go get go.mongodb.org/mongo-driver/v2/mongo go get github.com/joho/godotenv
Java Development Kit (JDK) version 8 or later
The driver dependencies installed by using Maven or Gradle
We recommend using an integrated development environment (IDE) such as IntelliJ IDEA or Eclipse IDE to configure the dependencies.
プロジェクトをビルドして実行するように Maven または Gradle を構成するには、 「依存関係として MongoDB を追加する」を参照してください。
ターミナル
テキストエディタ
To download the latest version of Python for your operating system, see Python Downloads Page.
The pip package installer
Starting with Python 2.7.9 and Python 3.4, packages downloaded from https://python.org include
pip
.To install
pip
manually, see the pip installation page. This package includes Python.
Connect to Your Replica Set
Use your replica set's connection string to connect to your replica set with your preferred client. To ensure that you configured mongot
and mongod
correctly, you can run a command that retrieves search indexes.
Paste and run the command to connect in your terminal.
For example, run a command similar to the following to connect after replacing the placeholder values in the command:
mongosh -u <USER-NAME> -p <USER-PASSWORD> --authenticationDatabase "<AUTHENTICATION-DB>" --host <HOST-NAME> --port <PORT-NUMBER>
You should now be connected to your replica set and your terminal should display something similar to the following:
rs0 [direct: primary] test>
Verify your connection to the search instance.
To verify, perform the following steps:
Add a document to a collection named
movies
.db.movies.insertOne({"title": "Back to the Future"}) { acknowledged: true, insertedId: ObjectId('67e42132a1cd6f443d5337b1') } Retrieve all search indexes for the
movies
collection.db.runCommand({"listSearchIndexes": "movies"}); { cursor: { id: 0, ns: 'test.movies', firstBatch: [] }, ok: 1, '$clusterTime': { clusterTime: Timestamp({ t: 1743003975, i: 1 }), signature: { hash: Binary.createFromBase64('H1nlTKJBRCfZXrWul9AhGRVpIQ0=', 0), keyId: Long('7484323578087735302') } }, operationTime: Timestamp({ t: 1743003975, i: 1 }) } 注意
The results don't contain any indexes because the sample code didn't create any index for the
movies
collection.
To learn more, see Connect to a Deployment.
詳しくは、「 MongoDB への接続 」を参照してください。
The following sample application connects to your replica set with your connection string and sends a ping to confirm a successful connection. To test the sample application, perform the following steps:
connect
という新しいディレクトリを作成し、dotnet new
コマンドを使用してプロジェクトを初期化します。mkdir connect cd connect dotnet new console 次のコマンドを実行して、.NET/C# ドライバーを依存関係としてプロジェクトに追加します。
dotnet add package MongoDB.Driver Define your connection settings in the
Program.cs
file.Program.cs
ファイルの内容を、次のコードで置き換えます。サンプルコードは、次の処理を行います。Connects to your local deployment.
Inserts a collection named
movies
with one document in thetest
database.Retrieves all search indexes for the collection.
1 using MongoDB.Bson; 2 using MongoDB.Driver; 3 4 public class Connect 5 { 6 // Replace the following with your connection string 7 private const string MongoConnectionString = "<CONNECTION-STRING>"; 8 9 public static void Main(string[] args) 10 { 11 // Connect to your replica set 12 var client = new MongoClient(MongoConnectionString); 13 14 // Send a ping to confirm a successful connection 15 try { 16 var result = client.GetDatabase("admin").RunCommand<BsonDocument>(new BsonDocument("ping", 1)); 17 Console.WriteLine("Successfully connected to Replica Set"); 18 } 19 catch (Exception e) { Console.WriteLine(e);} 20 21 // Insert a document to a collection 22 var database = client.GetDatabase("test"); 23 var collection = database.GetCollection<BsonDocument>("movies"); 24 var movieDocument = new BsonDocument{{"title", "Back to the Future"}}; 25 try { 26 collection.InsertOne(movieDocument); 27 Console.WriteLine("Document inserted successfully."); 28 } 29 catch (Exception e) { 30 Console.WriteLine($"Insertion error: {e.Message}"); 31 } 32 33 // List search indexes 34 try { 35 var result = collection.SearchIndexes.List().ToList(); 36 if (indexes.Count == 0) { 37 Console.WriteLine("No indexes found on the collection."); 38 } 39 else { 40 Console.WriteLine("Indexes on the collection:"); 41 foreach (var index in indexes) 42 { 43 Console.WriteLine(index.ToJson()); 44 } 45 } 46 } 47 catch (Exception e) { 48 Console.WriteLine($"Error listing indexes: {e.Message}"); 49 } 50 } 51 } Replace the placeholder (line 7) with your connection string and save the file.
Run your application.
dotnet run Program.cs Successfully connected to MongoDB. Document inserted successfully. No indexes found on the collection. 注意
The results don't contain any indexes because the sample code didn't create any index for the
movies
collection.
詳細については、「接続オプション 」を参照してください。
The following sample application connects to your replica set with your connection string and sends a ping to confirm a successful connection. Test the sample application with the following steps:
connect
という新しいディレクトリを作成し、go mod
コマンドを使用してプロジェクトを初期化します。mkdir connect cd connect go mod init connect Define your connection settings in a
.go
file.In your project, create a new file called
connect.go
and paste the following code.1 package main 2 3 import ( 4 "context" 5 "encoding/json" 6 "fmt" 7 "log" 8 9 "go.mongodb.org/mongo-driver/bson" 10 "go.mongodb.org/mongo-driver/mongo" 11 "go.mongodb.org/mongo-driver/mongo/options" 12 "go.mongodb.org/mongo-driver/mongo/readpref" 13 ) 14 15 type Movie struct { 16 Title string `bson:"title"` 17 } 18 19 func main() { 20 // Replace with your connection string 21 uri := "<CONNECTION-STRING>" 22 23 // Connect to MongoDB 24 client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)) 25 if err != nil { 26 log.Fatalf("Failed to connect to MongoDB: %v", err) 27 } 28 defer func() { 29 if err = client.Disconnect(context.TODO()); err != nil { 30 log.Fatalf("Failed to disconnect MongoDB client: %v", err) 31 } 32 }() 33 34 // Ping to confirm connection 35 if err := client.Ping(context.TODO(), readpref.Primary()); err != nil { 36 log.Fatalf("Failed to ping MongoDB: %v", err) 37 } 38 fmt.Println("Successfully connected to MongoDB") 39 40 // Insert a document to a collection 41 coll := client.Database("test").Collection("movies") 42 newMovie := Movie{Title: "Back to the Future"} 43 result, err := coll.InsertOne(context.TODO(), newMovie) 44 if err != nil { 45 log.Fatalf("Failed to insert document: %v", err) 46 } 47 fmt.Printf("Inserted document ID: %v\n", result.InsertedID) 48 49 // List search indexes 50 listOpts := options.ListSearchIndexesOptions{} 51 ctx := context.TODO() 52 cursor, err := coll.SearchIndexes().List(ctx, nil, &listOpts) 53 if err != nil { 54 log.Fatalf("Failed to list search indexes: %v", err) 55 } 56 57 var results []bson.D 58 if err = cursor.All(ctx, &results); err != nil { 59 log.Fatalf("Failed to iterate over cursor: %v", err) 60 } 61 62 res, err := json.Marshal(results) 63 if err != nil { 64 log.Fatalf("Failed to marshal results to JSON: %v", err) 65 } 66 fmt.Println("Search indexes found:", string(res)) 67 } Replace the placeholder (line 15) with your connection string and save the file.
Run your application.
go run connect.go Successfully connected to MongoDB Inserted document ID: ObjectID("67e42df345bc0b636fe340f0") Search indexes found: null 注意
The results don't contain any indexes because the sample code didn't create any index for the
movies
collection.
To learn more, see Connections.
The following sample application connects to your replica set with your connection string. To test the sample application, perform the following steps:
Define your connection settings in a Java class file.
Copy the following code into a file called
Connect.java
.1 import com.mongodb.ConnectionString; 2 import com.mongodb.MongoClientSettings; 3 import com.mongodb.MongoException; 4 import com.mongodb.ServerApi; 5 import com.mongodb.ServerApiVersion; 6 import com.mongodb.client.MongoClient; 7 import com.mongodb.client.MongoClients; 8 import com.mongodb.client.MongoCollection; 9 import com.mongodb.client.MongoCursor; 10 import com.mongodb.client.MongoDatabase; 11 import org.bson.BsonDocument; 12 import org.bson.BsonInt64; 13 import org.bson.Document; 14 import org.bson.conversions.Bson; 15 16 public class Connect { 17 public static void main(String[] args) { 18 // Replace the placeholder with your Replica Set connection string 19 String uri = "<CONNECTION-STRING>"; 20 21 // Construct a ServerApi instance using the ServerApi.builder() method 22 ServerApi serverApi = ServerApi.builder() 23 .version(ServerApiVersion.V1) 24 .build(); 25 26 MongoClientSettings settings = MongoClientSettings.builder() 27 .applyConnectionString(new ConnectionString(uri)) 28 .serverApi(serverApi) 29 .build(); 30 31 // Create a new client and connect to the server 32 try (MongoClient mongoClient = MongoClients.create(settings)) { 33 MongoDatabase adminDatabase = mongoClient.getDatabase("admin"); 34 try { 35 // Send a ping to confirm a successful connection 36 Bson command = new BsonDocument("ping", new BsonInt64(1)); 37 adminDatabase.runCommand(command); 38 System.out.println("Successfully connected to Replica Set"); 39 } catch (MongoException e) { 40 System.err.println("Ping failed: " + e); 41 } 42 43 // Insert a document into a collection 44 MongoDatabase database = mongoClient.getDatabase("test"); 45 MongoCollection<Document> collection = database.getCollection("movies"); 46 Document movieDocument = new Document("title", "Back to the Future"); 47 try { 48 collection.insertOne(movieDocument); 49 System.out.println("Document inserted successfully."); 50 } catch (MongoException e) { 51 System.err.println("Insertion failed: " + e); 52 } 53 54 // List search indexes 55 try (MongoCursor<Document> resultsCursor = collection.listSearchIndexes().iterator()) { 56 System.out.println("Search indexes found:"); 57 while (resultsCursor.hasNext()) { 58 System.out.println(resultsCursor.next().toJson()); 59 } 60 } catch (MongoException e) { 61 System.err.println("Error listing indexes: " + e); 62 } 63 } catch (MongoException e) { 64 System.err.println("Failed to create MongoClient: " + e); 65 } 66 } 67 } Replace the placeholder (line 14) with your connection string and save the file.
IDE または次のコマンドを使用して、
Connect.java
ファイルをコンパイルして実行します。javac Connect.java java Connect Successfully connected to Replica Set Document inserted successfully. Search indexes found: 注意
The results don't contain any indexes because the sample code didn't create any index for the
movies
collection.
詳しくは、「 MongoDB への接続 」を参照してください。
The following sample application connects to your replica set with your connection string and returns a confirmation message. To test the sample application, perform the following steps:
Define your connection settings in a
.js
file.Copy the following code into a file called
connect.js
.1 const { MongoClient } = require("mongodb"); 2 3 const url = "<CONNECTION-STRING>"; 4 5 // Connect to your Replica Set 6 const client = new MongoClient(url); 7 8 async function run() { 9 try { 10 await client.connect(); 11 console.log("Successfully connected to Replica Set"); 12 13 // Insert a document in a collection 14 const database = client.db("test"); 15 const coll = database.collection("movies"); 16 const doc = { title: "Back to the Future" }; 17 const insertResult = await coll.insertOne(doc); 18 console.log(`Document inserted with _id: ${insertResult.insertedId}`); 19 20 // List search indexes for the collection 21 const searchIndexesResult = await coll.listSearchIndexes().toArray(); 22 console.log("Search indexes:", searchIndexesResult); 23 } catch (err) { 24 console.log("Error occurred:", err.stack); 25 } finally { 26 await client.close(); 27 } 28 } 29 30 run().catch(console.dir); Replace the placeholder (line 4) with your connection string and save the file.
Run the sample application using the following command:
node connect.js Successfully connected to Replica Set Document inserted with _id: 67e432123504d5a7ed2156eb Search indexes: [] 注意
The results don't contain any indexes because the sample code didn't create any index for the
movies
collection.
To learn more, see Connection.
PyMongo から MongoClient をインポートします。
実行中の MongoDB インスタンスに接続するには、PyMongo は
MongoClient
が必要です。ターミナルで実行されている Python shell 内で、次のコマンドを実行してMongoClient
をインポートします。from pymongo import MongoClient Define your connection settings in a
.py
file.Copy the following code to a file named
connect.py
.1 from pymongo import MongoClient, errors 2 3 # Replace '<connection-string>' with your actual MongoDB connection string 4 connection_string = '<CONNECTION-STRING>' 5 6 # Connect to MongoDB 7 try: 8 client = MongoClient(connection_string) 9 print("Successfully connected to MongoDB.") 10 except errors.ConnectionError as e: 11 print("Failed to connect to MongoDB:", e) 12 exit() 13 14 # Access the database and collection 15 database = client["test"] 16 collection = database["movies"] 17 18 # Insert a document into the collection 19 try: 20 result = collection.insert_one({"title": "Back to the Future"}) 21 print(f"Document inserted with _id: {result.inserted_id}") 22 except Exception as e: 23 print("Failed to insert document:", e) 24 25 # List search indexes for the collection (ensure method exists) 26 try: 27 cursor = collection.list_search_indexes() 28 indexes = list(cursor) # Convert cursor to list for ease 29 if indexes: 30 print("Search indexes found:") 31 for index in indexes: 32 print(index) 33 else: 34 print("No search indexes found.") 35 except Exception as e: 36 print("Failed to list search indexes:", e) 37 38 # Close the client connection (Optionally used here for resource management) 39 client.close() Replace the placeholder (line 4) with your connection string and save the file.
Run the sample application using the following command.
python connect.py Successfully connected to MongoDB. Document inserted with _id: 67e43400bd92a83c1a81cbb4 No search indexes found. 注意
The results don't contain any indexes because the sample code didn't create any index for the
movies
collection.
詳しくは、「 MongoDB への接続 」を参照してください。
次のステップ
Now that you've connected to your replica set, proceed to Query with MongoDB Search Community Edition.