Trying to use V4 server and client with @deepstream/storage-mongodb@v4 and got this error:
(node:9297) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
{ MongoError: The field 'indexes' must be an array, but got object
at Connection.<anonymous> (/home/timar/prog/moc/ds-server/node_modules/mongodb-core/lib/connection/pool.js:443:61)
at Connection.emit (events.js:198:13)
at processMessage (/home/timar/prog/moc/ds-server/node_modules/mongodb-core/lib/connection/connection.js:364:10)
at Socket.<anonymous> (/home/timar/prog/moc/ds-server/node_modules/mongodb-core/lib/connection/connection.js:533:15)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
ok: 0,
errmsg: 'The field \'indexes\' must be an array, but got object',
code: 14,
codeName: 'TypeMismatch',
name: 'MongoError',
[Symbol(mongoErrorContextSymbol)]: {} }
TypeError: Cannot set property '__ds' of undefined
at Object.module.exports.transformValueForStorage (/home/timar/prog/moc/ds-server/node_modules/@deepstream/storage-mongodb/src/transform-data.js:28:15)
at DSStorage.Connector.set (/home/timar/prog/moc/ds-server/node_modules/@deepstream/storage-mongodb/src/connector.js:110:25)
at DSStorage.storage.set (/home/timar/prog/moc/ds-server/node_modules/@deepstream/server/src/config/config-initialiser.ts:362:12)
at RecordHandler.create (/home/timar/prog/moc/ds-server/node_modules/@deepstream/server/src/handlers/record/record-handler.ts:425:29)
at RecordHandler.onPermissionResponse (/home/timar/prog/moc/ds-server/node_modules/@deepstream/server/src/handlers/record/record-handler.ts:645:7)
at RuleApplication.run (/home/timar/prog/moc/ds-server/node_modules/@deepstream/server/src/services/permission/valve/rule-application.ts:102:19)
at new RuleApplication (/home/timar/prog/moc/ds-server/node_modules/@deepstream/server/src/services/permission/valve/rule-application.ts:64:10)
at DSPermission.canPerformAction (/home/timar/prog/moc/ds-server/node_modules/@deepstream/server/src/services/permission/valve/config-permission.ts:142:5)
at RecordHandler.permissionAction (/home/timar/prog/moc/ds-server/node_modules/@deepstream/server/src/handlers/record/record-handler.ts:605:30)
at RecordHandler.onCreateOrReadComplete (/home/timar/prog/moc/ds-server/node_modules/@deepstream/server/src/handlers/record/record-handler.ts:277:12)
const MongoDBStorageConnector = require('@deepstream/storage-mongodb');
const server = new Deepstream({/*...*/});
server.set('storage', new MongoDBStorageConnector({
connectionString: "mongodb://username:[email protected]:27017/ds-records?retryWrites=true&authSource=ds-records",
splitChar: '/',
}));
server.start();