On this page
Introduction
This tutorial describes how to use the MongoDBCommand,
MongoDBDataReader,
and MongoDBDataAdapter components.
Requirements
This tutorial assumes that you know how to connect to
the server.
Note that if you don't use design time (specifically, if you don't
place a MongoDBConnection
component from the toolbox on a designer), you have to
embed license information manually. This is described in the Licensing topic.
General Information
The main function of any database application is establishing a connection
to a data source and working with the data it contains. ADO.NET data providers
serve as a bridge between an application and a data source and allow you to
execute commands as well as retrieve data using a DataReader or a DataAdapter.
Updating data involves using the Command and DataAdapter objects.
Retrieving Data using MongoDBCommand and MongoDBDataReader
In this sample, we use MongoDBCommand
and MongoDBDataReader to retrieve data.
MongoDBDataReader reads the MongoDB cursor in batches. While you read data from it, it automatically fetches the next batch from MongoDB.
MongoDBDataReader offers higher performance than MongoDBDataAdapter, especially when you query a lot of data.
For more information, refer to the description of these classes in our documentation.
|
|---|
using Devart.Data.MongoDB;
...
class Program
{
static void Main(string[] args) {
const string connectionString = "Host=localhost;Database=sample;User Id=user;Password=pwd;License Key=***";
const string sql = "SELECT name, \"address.city\" FROM customers";
using (MongoDBConnection connection = new MongoDBConnection(connectionString)) {
connection.Open();
using (MongoDBCommand command = connection.CreateCommand()) {
command.CommandText = sql;
using (var reader = command.ExecuteReader()) {
while (reader.Read()) {
Console.WriteLine("{0}\t{1}", reader.GetValue(0), reader.GetValue(1));
}
}
}
}
Console.ReadKey();
}
}
|
|
|---|
Imports Devart.Data.MongoDB
...
Module Module1
Sub Main()
Const connectionString As String = "Host=localhost;Database=sample;User Id=user;Password=pwd;License Key=***"
Const sql As String = "SELECT name, ""address.city"" FROM customers"
Using connection As New MongoDBConnection(connectionString)
connection.Open()
Using command As MongoDBCommand = connection.CreateCommand()
command.CommandText = sql
Using reader As MongoDBDataReader = command.ExecuteReader()
While reader.Read()
Console.WriteLine(reader.GetValue(0) & vbTab & reader.GetValue(1))
End While
End Using
End Using
End Using
Console.ReadKey()
End Sub
End Module
|
Retrieving Data using MongoDBDataAdapter
In this sample, we use the MongoDBDataAdapter component. It retrieves data when you call its Fill method. Note that this method retrieves all the queried data from MongoDB, which can take some time.
Here is a small sample that demonstrates how to use MongoDBDataAdapter to retrieve data.
|
|---|
static void Main(string[] args) {
const string connectionString = "Host=localhost;Database=sample;User Id=user;Password=pwd;License Key=***";
const string sql = "SELECT name, \"address.city\" FROM customers";
using (MongoDBConnection connection = new MongoDBConnection(connectionString)) {
connection.Open();
var table = new System.Data.DataTable("customers");
using (MongoDBCommand command = connection.CreateCommand()) {
command.CommandText = sql;
using (MongoDBDataAdapter adapter = new MongoDBDataAdapter(command)) {
adapter.Fill(table);
}
}
foreach (DataRow row in table.Rows) {
Console.WriteLine("{0}\t{1}", row[0], row[1]);
}
}
Console.ReadKey();
}
|
|
|---|
Sub Main()
Const connectionString As String = "Host=localhost;Database=sample;User Id=user;Password=pwd;License Key=***"
Const sql As String = "SELECT name, ""address.city"" FROM customers"
Using connection As New MongoDBConnection(connectionString)
connection.Open()
Dim table As New System.Data.DataTable("customers")
Using command As MongoDBCommand = connection.CreateCommand()
command.CommandText = sql
Using adapter As New MongoDBDataAdapter(command)
adapter.Fill(table)
End Using
End Using
For Each row As DataRow In table.Rows
Console.WriteLine(row(0) & vbTab & row(1))
Next
End Using
Console.ReadKey()
End Sub
|
Additional Information
This tutorial describes only the basic ways of working with data. You can also use
the Entity Framework ORM technology,
which is intended for converting data between incompatible type systems in different data sources and object-oriented programming languages. This technology allows you to reduce the
amount of code and maintenance required for data-oriented applications.
For more information, see the Entity Framework Core section.
See Also
Entity Framework Core
| Updating Data