Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MongoDB中执行存储过程/函数_Mongodb_Function_Stored Procedures - Fatal编程技术网

如何在MongoDB中执行存储过程/函数

如何在MongoDB中执行存储过程/函数,mongodb,function,stored-procedures,Mongodb,Function,Stored Procedures,我是mongo的新手,我可以从aggregate创建它,但我想使用这两个表创建一个函数或某种存储过程,它应该包含Customer Customer\u NO、FNAME、LNAME、sum(SHIPPING\u CHARGE)、sum(TAX\u AMT)、sum(TOTAL\u AMT)、count(*) 为了了解这一点,我想将下面的存储过程应用到MongoDB中,并在其中添加一些列 SET SERVEROUTPUT ON CREATE OR REPLACE PROCEDURE GET_NUM

我是mongo的新手,我可以从aggregate创建它,但我想使用这两个表创建一个函数或某种存储过程,它应该包含Customer Customer\u NO、FNAME、LNAME、sum(SHIPPING\u CHARGE)、sum(TAX\u AMT)、sum(TOTAL\u AMT)、count(*)

为了了解这一点,我想将下面的存储过程应用到MongoDB中,并在其中添加一些列

SET SERVEROUTPUT ON
CREATE OR REPLACE PROCEDURE GET_NUM_ORDERS(CUST_NO IN OES2.CUSTOMER.CUSTOMER_NO%TYPE, TOTAL_ORDERS OUT NUMBER) IS
  CURSOR CURS IS SELECT COUNT(*) FROM OES2.ORDERS WHERE CUSTOMER_NO = CUST_NO;
BEGIN
  OPEN CURS;
  FETCH CURS INTO TOTAL_ORDERS;
  CLOSE CURS;
END GET_NUM_ORDERS;
/
DECLARE
TOTAL_ORDERS NUMBER;
BEGIN
  FOR A IN (SELECT CUSTOMER.CUSTOMER_NO, FNAME, LNAME FROM OES2.CUSTOMER)
  LOOP
    GET_NUM_ORDERS(A.CUSTOMER_NO, TOTAL_ORDERS);
    DBMS_OUTPUT.PUT_LINE(A.CUSTOMER_NO || '  ' || A.FNAME || ' ' || A.LNAME || '   ' || TOTAL_ORDERS);
  END LOOP;
END
这是我想要适应MOngoDB的SQL查询

SELECT Customer.CUSTOMER_NO,Customer.LNAME,Customer.FNAME, Customer.FNAME, sum([Order].SHIPPING_CHARGE),
sum([Order].TAX_AMT),sum([Order].TOTAL_AMT), count(*)
    FROM Customer inner join [Order]
    on Customer.CUSTOMER_NO = [Order].CUSTOMER_NO
    GROUP BY Customer.CUSTOMER_NO,Customer.LNAME,Customer.FNAME, Customer.FNAME
    ORDER BY Customer.CUSTOMER_NO;

db.Customer.insertMany([
{"CUSTOMER_NO": "1099", "LNAME": "Jake", "FNAME": "Roerig", "STREET": "16 Skyline Drive", "CITY": "Mankato", "STATE": "MN", "ZIP": "56001", "REGION_NO": "5", "TEL_NO": "507-344-4567", "BALANCE": "1000", "CREDIT_LIMIT": "", "BRANCH_NO": "100"},
{"CUSTOMER_NO": "1100", "LNAME": "Maria", "FNAME": "Jensen", "STREET": "10 State", "CITY": "New Ulm", "STATE": "MN", "ZIP": "56023", "REGION_NO": "5", "TEL_NO": "507", "BALANCE": "2500", "CREDIT_LIMIT": "5000", "BRANCH_NO": "100"},
{"CUSTOMER_NO": "1023", "LNAME": "Doering", "FNAME": "Al", "STREET": "1515 Market Street 13th", "CITY": "LITTLE ROCK", "STATE": "AR", "ZIP": "72201", "REGION_NO": "5", "TEL_NO": "", "BALANCE": "", "CREDIT_LIMIT": "", "BRANCH_NO": "100"},
{"CUSTOMER_NO": "1064", "LNAME": "Jenkins", "FNAME": "Donn", "STREET": "11160 Veirs Mill Road", "CITY": "MADISON", "STATE": "WI", "ZIP": "53703", "REGION_NO": "5", "TEL_NO": "", "BALANCE": "", "CREDIT_LIMIT": "", "BRANCH_NO": "100"},
{"CUSTOMER_NO": "1068", "LNAME": "Halle", "FNAME": "Edward", "STREET": "1250 Harrinton Ave.", "CITY": "BISMARCK", "STATE": "ND", "ZIP": "58501", "REGION_NO": "5", "TEL_NO": "", "BALANCE": "", "CREDIT_LIMIT": "", "BRANCH_NO": "100"},
{"CUSTOMER_NO": "1072", "LNAME": "Bond", "FNAME": "Michael", "STREET": "13 Federal 704", "CITY": "MADISON", "STATE": "WI", "ZIP": "53703", "REGION_NO": "5", "TEL_NO": "", "BALANCE": "", "CREDIT_LIMIT": "", "BRANCH_NO": "100"},
{"CUSTOMER_NO": "1076", "LNAME": "Thomas", "FNAME": "Catherine", "STREET": "4590 Blake Street", "CITY": "JACKSON", "STATE": "MS", "ZIP": "39201", "REGION_NO": "5", "TEL_NO": "", "BALANCE": "", "CREDIT_LIMIT": "", "BRANCH_NO": "100"},
{"CUSTOMER_NO": "1001", "LNAME": "Case", "FNAME": "Steve", "STREET": "101 michigan", "CITY": "New Ulm", "STATE": "MN", "ZIP": "56023", "REGION_NO": "5", "TEL_NO": "507-387-1234", "BALANCE": "2500", "CREDIT_LIMIT": "5000", "BRANCH_NO": "101"}])

db.Order.insertMany([

{"ORDER_NO": "1193", "ORDER_DATE": "10-MAY-02", "SHIP_DATE": "15-MAY-02", "SHIPPING_METHOD": "1-day", "TAX_STATUS": "n", "SUBTOTAL": "17800", "TAX_AMT": "0", "SHIPPING_CHARGE": "2670", "TOTAL_AMT": "20470", "CUSTOMER_NO": "1099", "EMPLOYEE_NO": "1042", "BRANCH_NO": "108"},
{"ORDER_NO": "1194", "ORDER_DATE": "11-MAY-02", "SHIP_DATE": "16-MAY-02", "SHIPPING_METHOD": "1day-air", "TAX_STATUS": "y", "SUBTOTAL": "64870", "TAX_AMT": "726.48840641", "SHIPPING_CHARGE": "9730.5", "TOTAL_AMT": "75326.98840641", "CUSTOMER_NO": "1100", "EMPLOYEE_NO": "1042", "BRANCH_NO": "108"},
{"ORDER_NO": "1196", "ORDER_DATE": "13-MAY-02", "SHIP_DATE": "20-MAY-02", "SHIPPING_METHOD": "Ground", "TAX_STATUS": "n", "SUBTOTAL": "483605", "TAX_AMT": "0", "SHIPPING_CHARGE": "24180.25", "TOTAL_AMT": "507785.25", "CUSTOMER_NO": "1099", "EMPLOYEE_NO": "1047", "BRANCH_NO": "100"},
{"ORDER_NO": "1197", "ORDER_DATE": "14-MAY-02", "SHIP_DATE": "19-MAY-02", "SHIPPING_METHOD": "1-day", "TAX_STATUS": "n", "SUBTOTAL": "344720", "TAX_AMT": "0", "SHIPPING_CHARGE": "51708", "TOTAL_AMT": "396428", "CUSTOMER_NO": "1023", "EMPLOYEE_NO": "1100", "BRANCH_NO": "100"},
{"ORDER_NO": "1199", "ORDER_DATE": "16-MAY-02", "SHIP_DATE": "21-MAY-02", "SHIPPING_METHOD": "Ground", "TAX_STATUS": "y", "SUBTOTAL": "136300", "TAX_AMT": "7376.2678618", "SHIPPING_CHARGE": "6815", "TOTAL_AMT": "150491.2678618", "CUSTOMER_NO": "1064", "EMPLOYEE_NO": "1047", "BRANCH_NO": "108"},
{"ORDER_NO": "1200", "ORDER_DATE": "17-MAY-02", "SHIP_DATE": "22-MAY-02", "SHIPPING_METHOD": "1-day", "TAX_STATUS": "y", "SUBTOTAL": "590070", "TAX_AMT": "30568.90442892", "SHIPPING_CHARGE": "88510.5", "TOTAL_AMT": "709149.40442892", "CUSTOMER_NO": "1064", "EMPLOYEE_NO": "1047", "BRANCH_NO": "100"},
{"ORDER_NO": "1201", "ORDER_DATE": "18-MAY-02", "SHIP_DATE": "23-MAY-02", "SHIPPING_METHOD": "Ground", "TAX_STATUS": "y", "SUBTOTAL": "13200", "TAX_AMT": "714.3560952", "SHIPPING_CHARGE": "660", "TOTAL_AMT": "14574.3560952", "CUSTOMER_NO": "1099", "EMPLOYEE_NO": "1047", "BRANCH_NO": "100"},
{"ORDER_NO": "1202", "ORDER_DATE": "19-MAY-02", "SHIP_DATE": "24-MAY-02", "SHIPPING_METHOD": "2-day", "TAX_STATUS": "n", "SUBTOTAL": "6725", "TAX_AMT": "0", "SHIPPING_CHARGE": "672.5", "TOTAL_AMT": "7397.5", "CUSTOMER_NO": "1076", "EMPLOYEE_NO": "1023", "BRANCH_NO": "108"}])
这在MongoDB中可能吗

如有任何帮助,我们将不胜感激