javascript - What is the correct way of passing a Mongoose object into the MongoDB underlying connection insert() method -
i need insert many thousands of documents mongodb. want utilize mongoose casting properties, etc. cannot figure out how pass generated instances mongodb connection. have tried this:
var fs = require('fs'); var mongoose = require('mongoose'); var config = json.parse(fs.readfilesync("./config.json")); mongoose.connect(config.mongodburl); db = mongoose.connection; db.once('open', function () { var testschema = new mongoose.schema({ teststr : string }); var model = mongoose.model('test_schema_2', testschema); var inst = new model(); inst.teststr = "ewafwefaw"; // works. db.collection('test_schema_2').insert({ teststr : 'my test str'}, {}, function (err) { if (err) { console.log(err); } else { console.log('written.'); db.close(); } }); // doesn't. db.collection('test_schema_2').insert(inst, {}, function (err) { if (err) { console.log(err); } else { console.log('written.'); db.close(); } }); });
in sec case, get: "[rangeerror: maximum phone call stack size exceeded]"
what mongoose breaking behind scenes stops working, , how can create work?
to save instance of model have do
inst.save(function(err) { //do here });
javascript mongodb mongoose
No comments:
Post a Comment