0
は私が保存db-conn.js
を持っている私のfunction
でdb connection
は、その後、私はcreate.js
ファイルでそれをrequire
とcall
それを。私が欲しいものNode.js内の別の関数のコールバックとして関数を渡すには?
は、それにcallback
ように、コードの残りの部分をpass
することになるので、まずそれconnects
データベースにして、それがinsertion
を行います。
私がコールバックをよくしていないので、私はそれを行う方法を知らない。手伝っていただけませんか?
ので、このDB-conn.js:
var mongo = {}
/**************************************************/
mongo.doConnection = (fcallback) => {
mongo = require('mongodb').MongoClient
global.db = null
sDatabasePath = 'mongodb://localhost:27017/kea'
global.mongoId = require('mongodb').ObjectID
/**************************************************/
mongo.connect(sDatabasePath, (err, db) => {
if (err) {
console.log('ERROR 003 -> Cannot connect to the database')
return false
}
global.db = db
console.log('OK 002 -> Connected to the database')
})
}
/**************************************************/
module.exports = mongo
と、これはcreate.jsです:
var mongo = require(__dirname + '/db-conn.js')
/**************************************************/
mongo.doConnection()// I am not sure what to do here
createStudent =() => {
var jStudent =
{
"firstName": "Sarah",
"lastName": "Jepsen",
"age": 27,
"courses": [
{
"courseName": "Web-development",
"teachers": [
{
"firstName": "Santiago",
"lastName": "Donoso"
}
]
},
{
"courseName": "Databases",
"teachers": [
{
"firstName": "Dany",
"lastName": "Kallas"
},
{
"firstName": "Rune",
"lastName": "Lyng"
}
]
},
{
"courseName": "Interface-Design",
"teachers": [
{
"firstName": "Roxana",
"lastName": "Stolniceanu"
}
]
}
]
}
global.db.collection('students').insertOne(jStudent, (err, result) => {
if (err) {
var jError = { "status": "error", "message": "ERROR -> create.js -> 001" }
console.log(jError)
}
var jOk = { "status": "ok", "message": "create.js -> saved -> 000" }
console.log(jOk)
console.log(JSON.stringify(result))
})
}
mongo.doConnectionを実行するときに接続のエラーを再度指定する必要がありますか?冗長ではありませんか? – codeDragon
あなたはしません。冗長です。エラーファーストのコールバックは最初のパラメータの後にあり、2番目のパラメータはデータなので、それに従っています。両方のparamsを無視し、 'return fcallback();'を 'mongo.doConnection'で削除することもできます。 –
これは私がやったことです。 ...そしてcreate.jsで 'createStudent()'を定義した後に 'mongo.doConnection(createStudent)'を実行するだけで、完全に動作します。ありがとうございます。 – codeDragon