loopbackjs - Loopback + MongoDB, AutoMigrate giving error -
i'm trying follow getting started loopback instead of connecting mysql instance i'm trying connect mongodb instance running on localhost (default port 27017).
while following steps i'm executing node .
given @ connect api data source giving me following error , node stopping.
d:\testloopback\node_modules\loopback-connector-mongodb\node_modules\mongodb\lib\utils.js:98
process.nexttick(function() { throw err; }); ^ validationerror: `coffeeshop` instance not valid.
details:
name
can't blank (value: undefined).,validationerror:coffeeshop
instance not valid. details:name
can't blank (value: undefined).,validationerror:coffeeshop
instance not valid. details:name
can't blank (value: undefined).
can me understand error , how can resolve it?
my datasources.json file has:
{ "db": { "name": "db", "connector": "memory" }, "mongods": { "name": "mongods", "connector": "mongodb", "host": "localhost", "port": 27017, "database": "testloopbackdb" } }
i've not set authentication on mongodb no username / password specified.
befor using collection mongodb if using ready made collection of mongodb first discover model , use in loopback application. discover model use following script in server/bin/discover.js
var path = require('path'); var fs = require('fs'); var app = require(path.resolve(__dirname, '../server')); var outputpath = path.resolve(__dirname, '../../common/models'); var datasource = app.datasources.mongods; function schemacb(err, schema) { if(schema) { console.log("auto discovery success: " + schema.name); var outputname = outputpath + '/' +schema.name + '.json'; fs.writefile(outputname, json.stringify(schema, null, 2), function(err) { if(err) { console.log(err); } else { console.log("json saved " + outputname); } }); } if(err) { console.error(err); return; } return; }; datasource.discoverschema('coffeeshop',{schema:'testloopbackdb'},schemacb);
run above script discover , build model [node server/bin/disovery.js] after in server/model-config.json add after last object.
"coffeeshop": { "datasource": "mongods", "public": true }
now run loopback application.
Comments
Post a Comment