Kết nối mongodb với c#
Ở bài số 4 các bạn đã biết cách tải và tham chiếu driver tương tác MongoDB trong C# rồi. Ở bài này chúng ta tiếp tục học cách kết nối và truy vấn dữ liệu MongoDB thông qua các Driver đó (bạn mở lại Project WPF trong bài số 4). Show Mục tiêu bài này các bạn phải kết nối hiển thị được dữ liệu trong bảng Product lên giao diện Listbox trong WPF như dưới đây: Bước 1:Làm thế nào để Kết nối dữ liệu MongoDB bằng C#? Để kết nối tới MongoDB ta dùng lệnh sau: //tham chiếu thư viện này: using MongoDB.Driver; //Dùng MongoClient để kết nối tới Server MongoClient client = new MongoClient("mongodb://localhost:27017"); //Dùng lệnh GetDatabase để kết nối Cơ sở dữ liệu IMongoDatabase database = client.GetDatabase("QuanLySanPham"); Các Em lưu ý lệnh: mongodb://localhost:27017 Là cú pháp kết nối lên Server. Chúng ta chỉ đổi localhost thành tên Server(địa chỉ IP) và Port. Còn mọi thứ phải giữ nguyên. Đây là bản Standalone, nếu bạn đang dùng Replica Set thì thay đổi khác chút xíu (Đây là phần nâng cao, khoan hãy quan tâm). Lệnh: client.GetDatabase(“QuanLySanPham“); Dùng để kết nối tới Cơ sở dữ liệu tên là QuanLySanPham, do đó bạn muốn kết nối tới Cơ sở dữ liệu khác thì đổi tên chỗ này là xong. Bước 2: Truy vấn dữ liệu, trong bài này ta sẽ truy vấn bảng Product nha. //Gọi hàm GetCollection để truy suất bảng dữ liệu IMongoCollection collection = database.GetCollection("Product"); //Muốn truy vấn toàn bộ dữ liệu trong bảng dùng lệnh dưới đây: List documents = collection.Find(new BsonDocument()).ToList(); Để lấy dữ liệu từng đối tượng (JSON, vì sao nó là JSon thì các Em xem lại các bài trước, hoặc ở đây) trong documents ra ta làm như sau: //Các em có thể hiểu document là 1 đối tượng đang duyệt (là Json) trong tập các Json được lưu trong biến documents foreach (BsonDocument document in documents) { //Cột Ma (là thuộc tính Ma của đối tượng Product đang duyệt) có kiểu chuỗi string ma = document["Ma"].AsString; //Cột Ten (là thuộc tính Ten của đối tượng Product đang duyệt) có kiểu chuỗi string ten = document["Ten"].AsString; //Cột DonGia (là thuộc tính DonGia của đối tượng Product đang duyệt) có kiểu Double double gia = document["DonGia"].AsDouble; } Coding chi tiết: -Phần XAML (MainWindow.xaml): -Phần Coding(MainWindow.xaml,cs): using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using MongoDB.Bson; using MongoDB.Driver; namespace CSharpMongoDBExample { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void btnGetProduct_Click(object sender, RoutedEventArgs e) { MongoClient client = new MongoClient("mongodb://localhost:27017"); IMongoDatabase database = client.GetDatabase("QuanLySanPham"); IMongoCollection collection = database.GetCollection("Product"); List documents = collection.Find(new BsonDocument()).ToList(); lstProduct.Items.Clear(); foreach (BsonDocument document in documents) { string ma = document["Ma"].AsString; string ten = document["Ten"].AsString; double gia = document["DonGia"].AsDouble; lstProduct.Items.Add(ma + "\t" + ten + "\t" + gia); } } } } Chạy lên ta sẽ kết quả như mong muốn! Bạn có thể tải source code của bài này tại đây: Source code here Bài sau ta sẽ nghiên cứu cách thức tải dữ liệu lớn từ MongoDB về client Các khóa học online khác, bạn có thể tham khảo tại đây: http://communityuni.com/ Chúc các bạn thành công! Nội dung bài viết Connect server MongoDB từ xa hay từ một server khác đó là một mô hình bình thường hiện
nay. Bài viết này sẽ hướng dẫn cho người mới làm quen với mongodb có thể làm được điều mà chỉ có những chuyên về admin mới làm được. Bài viết này có trong Series - Mongodb. Để hiểu được và có thể thao tác được, trước tiên tôi mong muốn về cơ bản, bạn phải hiểu MongoDB là gì? Và đương nhiên là phải có những thao tác trên Đầu tiên chính xác là bạn truy cập và Đến bước này thì việc duy nhất là bạn tìm tới file config mongodb Sau khi mở ra thì tìm đến line này:
Warning: Đừng có comment lại Giờ bạn muốn thêm một Server A truy cập đến Server chứa MongoDB thì hãy làm như sau: Đầu tiên bạn phải làm là sử dụng lệnh:
Để làm gì? Để bạn có thể thấy được ip address đang xài là gì? Ở đây chính là dòng thứ 3
Nghĩa là server khác sẽ truy cập và connect mongodb qua Restart mongo daemon (mongod)Sau khi edit thành công thì đương nhiên phải reload lại mongo.
Sau đó check lệnh
Để theo dõi log... Kết nối mongodb từ xa Và sau cùng là ta lấy server A connect tới bằng nhiều cách như Connect mongodb Nodejs, nhưng ở đâu tôi dùng Sell cho nhanh:
MongoDB securityỞ đây Và đó là tất cả bài hướng dẫn của chủ đề ngày hôm nay. Xin chào! |