Làm cách nào để chạy tập lệnh js trong MongoDB?

Sao chép tệp qua và chạy mongo trên máy chủ với nó

Không có hỗ trợ này trực tiếp trong máy chủ/máy khách. Bạn cũng có thể
sử dụng db. eval để chạy nó trên máy chủ nhưng phương pháp đầu tiên là
IMHO thích hợp hơn.

> --
> Bạn nhận được thư này vì bạn đã đăng ký vào nhóm "mongodb-user" của Google Groups.
> Để đăng bài lên nhóm này, hãy gửi email tới mongod. @nhóm Google. com.
> Để hủy đăng ký khỏi nhóm này, hãy gửi email tới mongodb-user. @nhóm Google. com.
> Để có thêm tùy chọn, hãy truy cập nhóm này tại http. //các nhóm. Google. com/group/mongodb-user?hl=vi.
>
>

Trong Hướng dẫn MongoDB này - Mongo Script, chúng ta sẽ tìm hiểu về cách thực thi nhiều lệnh từ một tệp JavaScript bằng chương trình mongo, với sự trợ giúp của các ví dụ

Trong hướng dẫn trước của chúng tôi, chúng tôi đã tìm hiểu về MongoDB Shell. Có một chút khác biệt về cách thực thi Mongo Script hoạt động so với Mongo Shell. Chúng ta sẽ tìm hiểu về những khác biệt này trong hướng dẫn tiếp theo

Làm cách nào để chạy tập lệnh js trong MongoDB?

Ví dụ - Tập lệnh Mongo

Chúng ta hãy nhanh chóng xem xét một ví dụ về Mongo Script

1. Bắt đầu Mongo Daemon

Chạy lệnh sau trong terminal

sudo mongod --port 27017 --dbpath /var/lib/mongodb

Bây giờ Mongo Daemon sẽ chờ kết nối trên cổng 27017

2. Các lệnh Mongo trong tệp JavaScript

Sau đây là tệp JavaScript chứa các lệnh Mongo. Bạn có thể tạo nó bằng bất kỳ trình soạn thảo văn bản yêu thích nào của mình

mongo-script-ví dụ. js

// equivalent for "use <db>" command in mongo shell
db = db.getSiblingDB('tutorialkart')
 
// print the collections present in tutorialkart db
print(db.getCollectionNames())

3. Chạy tệp JavaScript bằng Chương trình Mongo

Mở một thiết bị đầu cuối từ vị trí của. js và chạy tệp JavaScript với Chương trình Mongo như hình bên dưới

mongo mongo-script-example.js

Đầu ra bảng điều khiển

~/workspace/mongo$ mongo mongo-script-example.js
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
customers,myNewCollection,people

Ba dòng đầu tiên trong đầu ra đề cập đến phiên bản shell mongo và URL của máy chủ mongo mà nó đang cố kết nối và cuối cùng khi kết nối thành công, nó sẽ in phiên bản máy chủ mongo

Khi kết nối đến MongoDB Server thành công, các lệnh trong tệp JavaScript được thực thi tuần tự

Phần kết luận

Trong Hướng dẫn MongoDB này, chúng ta đã học cách tạo tệp JavaScript bằng mã MongoDB và cách chạy Tập lệnh Mongo này bằng lệnh mongo

Nếu bạn làm việc trong MongoDB Shell, bạn nên biết rằng trình bao thực sự nằm trong trình bao JavaScript tương tác và bạn có thể chạy mã js trực tiếp trong đó hoặc bạn có thể thực thi javascript từ một tệp. Tự động hóa một nhóm tác vụ mà bạn thực hiện thường xuyên có thể là một ý tưởng hay nếu bạn đang muốn đạt được một số hiệu quả và đây là một cách để làm điều đó. Nếu bạn đã quen thuộc với ngôn ngữ lập trình rất phổ biến Javascript, thì đây có thể là một cách để tận dụng bộ kỹ năng của bạn. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước cách thực thi các lệnh Mongo từ tệp Javascript. Chúng tôi sẽ chỉ cho bạn cách thực hiện từng bước nhưng nếu bạn chỉ muốn xem mã ví dụ, hãy cuộn xuống phần Chỉ mã

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

  • Bạn nên cài đặt và chạy MongoDB
  • Bạn nên tạo cơ sở dữ liệu và bộ sưu tập để thử nghiệm khi theo dõi
  • Một số kinh nghiệm dòng lệnh được khuyến nghị
  • Một số kinh nghiệm Javascript được khuyến nghị

Mục tiêu

Chúng tôi luôn muốn bắt đầu với một mục tiêu rõ ràng để đảm bảo rằng chúng tôi đạt được mục tiêu của mình khi kết thúc hướng dẫn. Trong hướng dẫn này, mục tiêu của chúng tôi là thực thi tệp Javascript từ trình bao MongoDB. File Javascript sẽ thực hiện các công việc chọn cơ sở dữ liệu và in số liệu thống kê

1. Tạo một tệp javascript khởi động

Chúng tôi sẽ bắt đầu bằng cách tạo một tệp javascript rất đơn giản chỉ in một thông báo để chúng tôi có thể xác minh rằng nó đang chạy. Chúng tôi sẽ cập nhật nó với mã hữu ích hơn sau. Chúng tôi đặt tên cho tệp của mình là dbStats.js vì cuối cùng nó sẽ in số liệu thống kê của cơ sở dữ liệu

Tập tin. dbStats. js `js print(“Đang chạy dbStats. js”);

2. Thực thi dbStats. js từ trình bao MongoDB

Bây giờ chúng ta có tệp js khởi động dbStats.js, hãy chạy nó từ trình bao MongoDB. Lệnh để làm điều đó là như sau

Ghi chú. dbStats của chúng tôi. js nằm trong thư mục làm việc hiện tại của chúng tôi. Nếu của bạn không phải là lệnh của bạn sẽ giống như

$ mongo < /folder1/folder2/dbStats. js

Đây là phản hồi chúng tôi nhận được từ việc thực hiện dbStats.js. Ở đây chúng tôi chỉ đang tìm cách xác minh rằng câu lệnh print("Running dbStats.js"); đã chạy

$ mongo < dbStats. js
MongoDB shell phiên bản v4. 0. 3
đang kết nối với. mongodb. //127. 0. 0. 1. 27017
Phiên ẩn. phiên {"id". UUID("026518c1-8c8b-424d-a11a-67a55a3b70ef") }
Phiên bản máy chủ MongoDB. 4. 0. 3
Chạy dbStats. js
tạm biệt

Như bạn có thể thấy, chúng tôi thấy thông báo của mình trong nhật ký. Điều này mở ra rất nhiều cơ hội vì giờ đây chúng ta có thể chạy Javascript thông qua MongoDB shell

3. Thêm chức năng vào tệp javascript

Bây giờ, hãy thêm một số chức năng thực sự vào tệp dbStats.js của chúng tôi. Mục tiêu của chúng tôi là chọn

// equivalent for "use <db>" command in mongo shell
db = db.getSiblingDB('tutorialkart')
 
// print the collections present in tutorialkart db
print(db.getCollectionNames())
1 và sau đó in số liệu thống kê

  • Để làm điều đó, trước tiên, chúng tôi tạo kết nối Mongo mới với cài đặt mặc định bằng cách sử dụng
    // equivalent for "use <db>" command in mongo shell
    db = db.getSiblingDB('tutorialkart')
     
    // print the collections present in tutorialkart db
    print(db.getCollectionNames())
    2 và chọn cơ sở dữ liệu của chúng tôi bằng cách sử dụng
    // equivalent for "use <db>" command in mongo shell
    db = db.getSiblingDB('tutorialkart')
     
    // print the collections present in tutorialkart db
    print(db.getCollectionNames())
    3
  • Tiếp theo, chúng tôi in số liệu thống kê bằng cách sử dụng `0 để trả về số liệu thống kê về cơ sở dữ liệu. Thêm vào tệp javascript của bạn

Tập tin. dbStats. js `js print(“Đang chạy dbStats. js”);

conn = Mongo mới(); . getDB(“cơ sở dữ liệu demo”); . số liệu thống kê();

Chúng tôi có thể xác minh tập lệnh đã sửa đổi này hoạt động bằng cách chạy lại tập lệnh như vậy

Kết quả của bạn sẽ giống như thế này

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

MongoDB shell phiên bản v4. 0. 3
đang kết nối với. mongodb. //127. 0. 0. 1. 27017
Phiên ẩn. phiên {"id". UUID("0e9890ae-0281-45ab-8129-bcca25e301d0") }
Phiên bản máy chủ MongoDB. 4. 0. 3
Chạy dbStats. js
kết nối với 127. 0. 0. 1. 27017
DemoDatabase
{
        "db". "demoDatabase",
        "bộ sưu tập". 5,
        "lượt xem". 0,
        "đối tượng". 22,
        "avgObjSize". 76. 36363636363636,
        "Kích thước dữ liệu". 1680,
        "dung lượng lưu trữ". 143360,
        "numExtents". 0,
        "chỉ mục". 5,
        "Kích thước chỉ mục". 126976,
        "fsUsedSize". 114168762368,
        "fsTotalSize". 499963174912,
        "được". 1
}
bởi
$

thành công. Đầu ra là số liệu thống kê của cụm MongoDB của chúng tôi

Tìm hiểu thêm

Để tìm hiểu thêm về cách làm việc với MongoDB thông qua Javascript, chúng tôi khuyên bạn nên tra cứu trực tiếp tài liệu về MongoDB hoặc bạn luôn có thể liên hệ với chuyên gia tại Object Rocket để thảo luận về ứng dụng cụ thể của mình. MongoDB có cung cấp thư viện npm để tương tác với MongoDB thực sự dễ dàng

Phần kết luận

Chúng tôi đã chỉ cho bạn cách thực thi tệp JS từ trình bao MongoDB và in số liệu thống kê về số liệu thống kê MongoDB của bạn. Điều này tất nhiên có thể được sửa đổi để làm bất cứ điều gì ứng dụng của bạn yêu cầu. Nếu bạn muốn tìm hiểu thêm về cách MongoDB và Javascript có thể được sử dụng cùng nhau, tài liệu MongoDB khá đơn giản và có thể trả lời nhiều câu hỏi của bạn. Chúng tôi hy vọng hướng dẫn này có thể trả lời câu hỏi của bạn hoặc cung cấp cho bạn đoạn mã mà bạn đang tìm kiếm bấy lâu nay. Cảm ơn bạn đã dành thời gian và nếu bạn có bất kỳ phản hồi hoặc câu hỏi nào, đừng ngần ngại liên hệ với chúng tôi

Chỉ cần mã

Nếu bạn đã cảm thấy thoải mái với công nghệ được đề cập trong bài viết này và chỉ đang tìm kiếm lời nhắc, thì đây là tất cả mã chúng tôi đã sử dụng để minh họa cách thực thi tệp javascript tương tác với MongoDB

Làm cách nào để chạy tập lệnh js trong MongoDB?

Để chạy tệp JavaScript (. js) với Mongo Shell lệnh mongo phải được thực thi trong cửa sổ đầu cuối, theo sau là tên miền hoặc địa chỉ IP đang chạy dịch vụ MongoDB .

Làm cách nào để tải tệp js trong MongoDB?

Tải tệp JavaScript . hàm load() cho phép thực thi từ các đường dẫn tuyệt đối và tương đối. Chúng ta có thể chỉ cần tải một tệp trong vỏ mongo bằng hàm load(). Và cuối cùng, nếu chúng tôi có nhiều tệp script, chúng tôi có thể tải () bên trong tệp javaScript khác. using the load() function. load() function allow to execute from absolute and relative paths. We can simply load a file in mongo shell with load() function. And Finally If we have lots of scripted files, We can load() inside another javaScript file.

Tôi có thể sử dụng JavaScript với MongoDB không?

MongoDB hỗ trợ JavaScript thông qua Node chính thức. trình điều khiển js . Bạn có thể kết nối Nút của mình. js sang MongoDB và làm việc với dữ liệu của bạn.

Làm cách nào để chạy tệp js trong MongoDB Compass?

Bạn có thể sử dụng phương thức load() trong mongo shell để chạy. tập tin js. Hy vọng nó giúp. Vui lòng liên hệ lại với chúng tôi nếu bạn có bất kỳ câu hỏi nào khác