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=用户定义的函数)请参见漂亮的答案。