Phản ứng gốc lấy dữ liệu từ mongodb

Trước hết, chúng tôi không thể kết nối React JS với MongoDB vì mọi thứ không hoạt động như thế này. Đầu tiên, chúng tôi tạo một ứng dụng phản ứng, sau đó để bảo trì phụ trợ, chúng tôi tạo API trong nút. js và thể hiện. js đang chạy ở một cổng khác và ứng dụng phản ứng của chúng tôi đang chạy ở một cổng khác. để kết nối React với cơ sở dữ liệu (MongoDB), chúng tôi tích hợp thông qua API. Bây giờ hãy xem cách chúng tôi tạo một ứng dụng React đơn giản lấy tên và email đầu vào từ người dùng và lưu nó vào cơ sở dữ liệu

Điều kiện tiên quyết

  • NodeJS được cài đặt trong hệ thống của bạn (cài đặt)
  • MongoDB được cài đặt trong hệ thống của bạn (cài đặt)

Tập tin và thư mục Setum. Thiết lập từng tệp và thư mục cần thiết cho giao diện người dùng và phụ trợ từng cái một

  • Tạo ứng dụng phản ứng. Để xây dựng một ứng dụng phản ứng, hãy làm theo các bước dưới đây

Bước 1. Tạo một ứng dụng phản ứng bằng lệnh sau

npx create-react-app foldername

Bước 2. Sau khi hoàn tất, hãy thay đổi thư mục của bạn thành thư mục mới được tạo có tên là phụ trợ bằng lệnh sau

Tham số đầu tiên của phương thức findOne() là một đối tượng truy vấn. Trong ví dụ này, chúng tôi sử dụng một đối tượng truy vấn trống, đối tượng này chọn tất cả tài liệu trong bộ sưu tập (nhưng chỉ trả về tài liệu đầu tiên)

Thí dụ

Tìm tài liệu đầu tiên trong bộ sưu tập khách hàng

var MongoClient = yêu cầu('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
var dbo = db. db("mydb");
dbo. bộ sưu tập ("khách hàng"). findOne({}, function(err, result) {
nếu (err) ném err;
bảng điều khiển. nhật ký (kết quả. Tên);
db. Thoát();
});
});

Chạy ví dụ »

Lưu mã ở trên vào tệp có tên "demo_mongodb_findone. js" và chạy tệp

Chạy "demo_mongodb_findone. js"

C. \Users\Tên của bạn>nút demo_mongodb_findone. js

Cái nào sẽ cho bạn kết quả này



Tìm tất cả

Để chọn dữ liệu từ một bảng trong MongoDB, chúng ta cũng có thể sử dụng phương thức find()

Phương thức find() trả về tất cả các lần xuất hiện trong vùng chọn

Tham số đầu tiên của phương thức find() là một đối tượng truy vấn. Trong ví dụ này, chúng tôi sử dụng một đối tượng truy vấn trống để chọn tất cả các tài liệu trong bộ sưu tập

Không có tham số nào trong phương thức find() cho bạn kết quả giống như SELECT * trong MySQL

Thí dụ

Tìm tất cả các tài liệu trong bộ sưu tập khách hàng

var MongoClient = yêu cầu('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
var dbo = db. db("mydb");
dbo. bộ sưu tập ("khách hàng"). tìm thấy({}). toArray(function(err, result) {
nếu (err) ném err;
bảng điều khiển. nhật ký (kết quả);
db. Thoát();
});
});

Chạy ví dụ »

Lưu mã ở trên vào tệp có tên "demo_mongodb_find. js" và chạy tệp

Chạy "demo_mongodb_find. js"

C. \Users\Tên của bạn>nút demo_mongodb_find. js

Cái nào sẽ cho bạn kết quả này

[
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a84 , tên. 'John', địa chỉ. 'Quốc lộ 71'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a85 , tên. 'Peter', địa chỉ. 'Phố thấp 4'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a86 , tên. 'Amy', địa chỉ. 'Apple st 652'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a87 , tên. 'Hannah', địa chỉ. 'Núi 21'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a88 , tên. 'Michael', địa chỉ. 'Thung lũng 345'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a89 , tên. 'Sandy', địa chỉ. 'Đại lộ 2'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a8a , tên. 'Betty', địa chỉ. 'Cỏ xanh 1'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a8b , tên. 'Richard', địa chỉ. 'Bầu trời đường 331'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a8c , tên. 'Susan', địa chỉ. 'Một chiều 98'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a8d , tên. 'Vicky', địa chỉ. 'Khu vườn vàng 2'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a8e , tên. 'Ben', địa chỉ. 'Công viên ngõ 38'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a8f , tên. 'William', địa chỉ. 'Trung tâm đường 954'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a90 , tên. 'Chuck', địa chỉ. 'Đường chính 989'},
{ _Tôi. 58fdbf5c0ef8a50b4cdd9a91 , tên. 'Viola', địa chỉ. 'Đi ngang 1633'}
]


tìm một số

Tham số thứ hai của phương thức find() là đối tượng projection mô tả các trường sẽ bao gồm trong kết quả

Tham số này là tùy chọn và nếu bỏ qua, tất cả các trường sẽ được đưa vào kết quả

Thí dụ

Trả về các trường "tên" và "địa chỉ" của tất cả các tài liệu trong bộ sưu tập khách hàng

var MongoClient = yêu cầu('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
var dbo = db. db("mydb");
dbo. bộ sưu tập ("khách hàng"). tìm ({}, { phép chiếu. { _Tôi. 0, tên. 1, địa chỉ. 1 } }). toArray(function(err, result) {
nếu (err) ném err;
bảng điều khiển. nhật ký (kết quả);
db. Thoát();
});
});

Chạy ví dụ »

Lưu mã ở trên vào tệp có tên "demo_mongodb_find_fields. js" và chạy tệp

Chạy "demo_mongodb_find_fields. js"

C. \Users\Tên của bạn>nút demo_mongodb_find_fields. js

Cái nào sẽ cho bạn kết quả này

[
{ Tên. 'John', địa chỉ. 'Quốc lộ 71'},
{ Tên. 'Peter', địa chỉ. 'Phố thấp 4'},
{ Tên. 'Amy', địa chỉ. 'Apple st 652'},
{ Tên. 'Hannah', địa chỉ. 'Núi 21'},
{ Tên. 'Michael', địa chỉ. 'Thung lũng 345'},
{ Tên. 'Sandy', địa chỉ. 'Đại lộ 2'},
{ Tên. 'Betty', địa chỉ. 'Cỏ xanh 1'},
{ Tên. 'Richard', địa chỉ. 'Bầu trời đường 331'},
{ Tên. 'Susan', địa chỉ. 'Một chiều 98'},
{ Tên. 'Vicky', địa chỉ. 'Khu vườn vàng 2'},
{ Tên. 'Ben', địa chỉ. 'Công viên ngõ 38'},
{ Tên. 'William', địa chỉ. 'Trung tâm đường 954'},
{ Tên. 'Chuck', địa chỉ. 'Đường chính 989'},
{ Tên. 'Viola', địa chỉ. 'Đi ngang 1633'}
]

Bạn không được phép chỉ định cả hai giá trị 0 và 1 trong cùng một đối tượng (trừ khi một trong các trường là trường _id). Nếu bạn chỉ định một trường có giá trị 0, tất cả các trường khác sẽ nhận giá trị 1 và ngược lại

Thí dụ

Ví dụ này sẽ loại trừ "địa chỉ" khỏi kết quả

var MongoClient = yêu cầu('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
var dbo = db. db("mydb");
dbo. bộ sưu tập ("khách hàng"). tìm ({}, { phép chiếu. { Địa chỉ. 0 } }). toArray(function(err, result) {
nếu (err) ném err;
bảng điều khiển. nhật ký (kết quả);
db. Thoát();
});
});

Chạy ví dụ »

Để loại trừ trường _id, bạn phải đặt giá trị của nó thành 0

Thí dụ

Ví dụ này sẽ chỉ trả về trường "tên"

var MongoClient = yêu cầu('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
var dbo = db. db("mydb");
dbo. bộ sưu tập ("khách hàng"). tìm ({}, { phép chiếu. { _Tôi. 0, tên. 1 } }). toArray(function(err, result) {
nếu (err) ném err;
bảng điều khiển. nhật ký (kết quả);
db. Thoát();
});
});

Chạy ví dụ »

Thí dụ

Ví dụ này sẽ cho bạn kết quả giống như ví dụ đầu tiên;

var MongoClient = yêu cầu('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
var dbo = db. db("mydb");
dbo. bộ sưu tập ("khách hàng"). tìm ({}, { phép chiếu. { _Tôi. 0 } }). toArray(function(err, result) {
nếu (err) ném err;
bảng điều khiển. nhật ký (kết quả);
db. Thoát();
});
});

Chạy ví dụ »

Thí dụ

Bạn gặp lỗi nếu chỉ định cả hai giá trị 0 và 1 trong cùng một đối tượng (ngoại trừ nếu một trong các trường là trường _id)

var MongoClient = yêu cầu('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
var dbo = db. db("mydb");
dbo. bộ sưu tập ("khách hàng"). tìm ({}, { phép chiếu. { Tên. 1, địa chỉ. 0 } }). toArray(function(err, result) {
nếu (err) ném err;
bảng điều khiển. nhật ký (kết quả);
db. Thoát();
});
});

Chạy ví dụ »


đối tượng kết quả

Như bạn có thể thấy từ kết quả của ví dụ trên, kết quả có thể được chuyển đổi thành một mảng chứa mỗi tài liệu dưới dạng một đối tượng

để trả lại e. g. địa chỉ của tài liệu thứ ba, chỉ cần tham khảo thuộc tính địa chỉ của đối tượng mảng thứ ba

Làm cách nào để tìm nạp dữ liệu từ MongoDB?

Bạn có thể sử dụng thao tác đọc để truy xuất dữ liệu từ cơ sở dữ liệu MongoDB của mình. Có nhiều loại thao tác đọc truy cập dữ liệu theo những cách khác nhau. Nếu bạn muốn yêu cầu kết quả dựa trên một tập hợp tiêu chí từ tập hợp dữ liệu hiện có, bạn có thể sử dụng thao tác tìm chẳng hạn như phương thức find() hoặc findOne().

Tôi có thể sử dụng MongoDB với phản ứng gốc không?

Bạn có thể sử dụng react-native-local-mongodb làm kho dữ liệu chỉ trong bộ nhớ hoặc kho dữ liệu cố định . Một kho dữ liệu tương đương với một bộ sưu tập MongoDB.

Làm cách nào để lấy dữ liệu từ MongoDB lên giao diện người dùng?

Cách lấy dữ liệu từ mongodb trong Node js và hiển thị trong HTML (ejs) .
Bước 1 – Tạo ứng dụng Node Express js
Bước 2 – Cài đặt phụ thuộc cầy mangut flash ejs body-parser
Bước 3 – Kết nối ứng dụng với MongoDB
Bước 4 – Tạo mô hình
Bước 5 – Tạo các tuyến đường
Bước 6 – Tạo Bảng HTML và Danh sách Hiển thị

Làm cách nào để tìm nạp dữ liệu từ MongoDB bằng axios?

Sử dụng Mongoose và AXIOS để tải dữ liệu APU lên MongoDB .
Đảm bảo bạn đã cài đặt nodejs và NPM, NPM đi kèm với nodejs
npm cài đặt cầy mangut axios
Yêu cầu các gói trong chỉ mục của bạn. .
Nhận mã thông báo API và URL yêu cầu (Tôi sẽ sử dụng URL API kho lưu trữ của mình)
Kết nối với DB và lấy dữ liệu từ GitHub