Javascript Cosmos DB MongoDB API可以';t调用存储过程/UDF/

Javascript Cosmos DB MongoDB API可以';t调用存储过程/UDF/,javascript,mongodb,mongoose,azure-cosmosdb,Javascript,Mongodb,Mongoose,Azure Cosmosdb,伪代码: const mongoose = require('mongoose'); const { Schema } = mongoose; const UserSchema = new Schema({ username: String }); mongoose.model('User', UserSchema); const con = mongoose.connect(config.uri, config.options, (err) => { if(err)

伪代码:

const mongoose = require('mongoose');

const { Schema } = mongoose;

const UserSchema = new Schema({
  username: String
});

mongoose.model('User', UserSchema);

const con = mongoose.connect(config.uri, config.options, (err) => {
    if(err) throw err;

    const User = con.model('User');
    User.db.db.command({ testProcedure: 1 }, console.log);
})
错误输出:

{ MongoError: Command is not supported
    at /home/username/git/project/node_modules/mongodb-core/lib/connection/pool.js:580:63
    at authenticateStragglers (/home/username/git/project/node_modules/mongodb-core/lib/connection/pool.js:503:16)
    at Connection.messageHandler (/home/username/git/project/node_modules/mongodb-core/lib/connection/pool.js:539:5)
    at emitMessageHandler (/home/username/git/project/node_modules/mongodb-core/lib/connection/connection.js:309:10)
    at TLSSocket.<anonymous> (/home/username/git/project/node_modules/mongodb-core/lib/connection/connection.js:452:17)
    at emitOne (events.js:116:13)
    at TLSSocket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at TLSSocket.Readable.push (_stream_readable.js:208:10)
    at TLSWrap.onread (net.js:607:20)
  _t: 'OKMongoResponse',
  ok: 0,
  code: 115,
  errmsg: 'Command is not supported',
  '$err': 'Command is not supported',
  name: 'MongoError',
  [Symbol(mongoErrorContextSymbol)]: {} } null
{MongoError:不支持命令
at/home/username/git/project/node_modules/mongodb core/lib/connection/pool.js:580:63
在AuthenticateTraggler上(/home/username/git/project/node_modules/mongodb core/lib/connection/pool.js:503:16)
位于Connection.messageHandler(/home/username/git/project/node_modules/mongodb core/lib/Connection/pool.js:539:5)
在emitMessageHandler(/home/username/git/project/node_modules/mongodb core/lib/connection/connection.js:309:10)

在TLSSocket.

存储过程和UDF是本机SQL(DocumentDB)API和相关SDK的方面。MongoDB SDK(或为MongoDB量身定做的框架,如您正在使用的Mongoose)对Cosmos DB的存储过程或UDF一无所知


您需要在特定语言中使用Cosmos DB SDK来利用这些功能。但是,我怀疑它们在使用MongoDB API设置的数据库中是否能正常工作。

您到底想实现什么?@SapuSeven我想在Cosmos DB中执行一个存储过程……正如问题的标题所述。(UDF=用户定义的函数)请参见漂亮的答案。