Hướng dẫn insert into mysql2 promise - chèn vào lời hứa mysql2
Tôi đang cố gắng sử dụng Async đang chờ đợi với mysql2 và gộp lại nhưng tôi nghĩ rằng tôi làm những điều sai trái. Dưới đây là mã của tôi (như tôi đã nói, tôi không thực sự chắc chắn nếu tôi đang làm mọi việc ngay tại đây).
Ý tưởng là "adduser" nên được lưu và nếu nó không phải là duy nhất, sẽ xảy ra lỗi (vì cột email cơ sở dữ liệu SQL được đặt thành duy nhất) và sau đó addanother sẽ không bắt đầu chèn. Những gì tôi không thể hiểu là làm thế nào để nhận được phần chèn vào phần chèn adduser? Tôi sẽ cần nó cho lần chèn thứ hai. Nếu tôi Console.Log Adduser, tôi có thể thấy một đối tượng như thế này:
Vì vậy, Insertid được gửi lại cho tôi, nhưng tôi dường như không thể đạt được nó. Nếu tôi cố gắng lấy nó, nó không thể đọc tài sản của không xác định. Tôi cảm thấy rằng tôi đang làm điều này sai tất cả, vậy tôi nên làm như thế nào để có được sự chèn ép? X Devapi bao gồm các phương pháp để làm việc với các bộ sưu tập NoQuery và các bảng quan hệ. Hướng dẫn này trình bày Trình kết nối/Node.js của X Devapi. Một số ví dụ cho rằng một phiên đã được tạo và một đối tượng 8 tồn tại. Có một phần mô tả chi tiết cách kết nối với cơ sở dữ liệu và tạo phiên giao thức X. Ngoài ra, API cũng cung cấp các phương thức tiện ích để làm việc với các tài liệu đơn lẻ.Tạo bộ sưu tậpMột bộ sưu tập là một bảng mục đích đặc biệt để lưu trữ tài liệu. Để tạo bộ sưu tập, người dùng chỉ phải cung cấp tên cho mô -đun: Schema#createdCollection:
Hàm 9 trả về một lời hứa giải quyết thành một đối tượng thu thập thành công.Nếu một bộ sưu tập nhất định đã tồn tại trong cơ sở dữ liệu, cuộc gọi 0 sẽ không thành công trừ khi thuộc tính 1 được xác định trong một đối tượng tùy chọn bổ sung như sau:
Ví dụ, đối tượng tùy chọn này có thể được sử dụng để tạo lược đồ xác thực tài liệu phía máy chủ. Đối với điều đó, người ta có thể bao gồm một thuộc tính 2 phù hợp với định nghĩa lược đồ JSON hợp lệ trong một đối tượng 3 bên ngoài. Thuộc tính 4, được sử dụng để kích hoạt hiệu quả ( 5) hoặc vô hiệu hóa ( 6) một lược đồ, cũng nên được đưa vào.
Khi cố gắng chèn một tài liệu vi phạm định nghĩa lược đồ cho bộ sưu tập, một lỗi được ném:
Lược đồ được tạo nhưng không được bật khi thuộc tính 4 không có hoặc được đặt thành 6 và bất kỳ tài liệu nào sẽ được chèn vào trường hợp đó.
Phương pháp 9 được sử dụng để kích hoạt lược đồ JSON trên bộ sưu tập hiện có (hoặc cập nhật nó nếu nó đã tồn tại).
Vô hiệu hóa lược đồ JSON trên một bộ sưu tập hiện có có thể được thực hiện bằng cách đặt thuộc tính 4 thành 6 trong đối tượng Tùy chọn 3.
Việc kích hoạt lại lược đồ JSON có thể là một số bằng cách đặt thuộc tính 4 trở lại 5. 0Liệt kê tất cả các bộ sưu tập hiện có 1Thả một bộ sưu tập 2Xử lý tài liệu trong các bộ sưu tập hiện cóXem xét một bộ sưu tập 5 chứa các tài liệu sau: 3Các tài liệu này có thể được sửa đổi hoặc loại bỏ trong một số điều kiện cụ thể, như được hiển thị bên dưới. Để sửa đổi/xóa các tài liệu cụ thể khỏi bộ sưu tập, người ta sẽ cung cấp điều kiện lọc thích hợp khi gọi 6 hoặc 7. Để biết thêm chi tiết về định dạng biểu thức, vui lòng kiểm tra hướng dẫn sử dụng.Để sửa đổi/xóa tất cả các tài liệu khỏi bộ sưu tập, người ta nên cung cấp bất kỳ biểu thức nào đánh giá thành 8 (nếu không có biểu thức nào được cung cấp, việc thực hiện thao tác sẽ dẫn đến lỗi) khi gọi 6 hoặc 7.Xóa các tài liệu phù hợp với một tiêu chí nhất định 4Loại bỏ tất cả các tài liệu 5Sửa đổi các tài liệu phù hợp với một tiêu chí nhất định 6Sửa đổi tất cả các tài liệu 7Cập nhật số lượng lớn các thuộc tính tài liệuNgoài ra, bên cạnh việc cập nhật rõ ràng các thuộc tính tài liệu riêng lẻ với 1, phương thức 2 cho phép cập nhật nhiều thuộc tính trong một cuộc gọi.Sử dụng 2 sẽ xóa các thuộc tính chứa giá trị 4, thêm các thuộc tính không có trước đó và cập nhật các thuộc tính hiện có. Hành vi này cũng áp dụng cho các thuộc tính lồng nhau. 8Lưu ý: Chuỗi biểu thức tiêu chí được cung cấp qua 6 Thiết lập các quy tắc lọc, do đó, bất kỳ giá trị 6 nào được cung cấp như một phần của các thuộc tính được cập nhật sẽ bị bỏ qua (và sẽ không được cập nhật).Lấy kích thước bộ sưu tậpPhương pháp 7 lấy kích thước bộ sưu tập tại một thời điểm nhất định. 9Con trỏPhương pháp 8 để truy xuất toàn bộ tập kết quả có nguồn gốc từ mỗi truy vấn 9. Phương pháp này kéo dữ liệu từ bộ nhớ và xóa nó sau đó. Tuy nhiên, có hai API xen kẽ để tiêu thụ các mục nhập kết quả bằng cách sử dụng con trỏ. Một API sử dụng con trỏ dựa trên lực kéo thông thường thông qua phương thức 0 bổ sung có sẵn trong trường hợp kết quả. Cái còn lại là API dựa trên lực kéo hoạt động với chức năng gọi lại được cung cấp trong phương thức 1, hoàn toàn vô hiệu hóa bộ đệm ở cấp độ kết nối và để lại khả năng đáp ứng đó cho ứng dụng.Cách tiếp cận dựa trên kéo 0Phương pháp dựa trên đẩy 1Chỉ số bộ sưu tậpCác chỉ mục thu thập là các chỉ mục MySQL thông thường trên các cột ảo trích xuất dữ liệu từ tài liệu JSON. Để tạo một chỉ mục, cả tên chỉ mục và định nghĩa chỉ số đều được yêu cầu. Định nghĩa chỉ số chứa các thuộc tính sau: 2Một chỉ mục có thể được tạo bằng một trong các loại sau: 3Chi tiết bổ sung về các chỉ số không gian có thể được tìm thấy ở đây. Tạo một chỉ mục thông thường 4Tạo một chỉ mục đa giá trị 5Tạo một chỉ số không gian 6Bỏ một chỉ số 7GotchasCác chỉ mục duy nhất hiện không được hỗ trợ bởi plugin X. Do các hạn chế khác của plugin X, các chỉ mục 2 cho các trường 3 và các chỉ mục 4 cho 5 và/hoặc 6 không thể được tạo ra.Các định nghĩa chỉ số cho các trường tài liệu có chứa các mảng nên chỉ định rõ ràng tùy chọn đa giá trị ( 7). |