[英]MongoDB collection error undefined
將數據插入collection中時遇到問題。它給出了無法讀取未定義的collection屬性的錯誤。 提供一個解決方案,我會盡力而為。 這是我的代碼。
var http = require('http');
var fs = require('fs');
var querystring = require('querystring');
var MongoClient = require('mongodb').MongoClient;
var url ="mongodb://127.0.0.1:27017/college";
var port = 4000;
http.createServer((req,res) => {
if(req.url==="/form")
{
res.writeHead(200,{"Content-Type": "text:html"});
fs.createReadStream("./public/form.html" , "UTF-8").pipe(res);
}
if(req.method==="POST")
{
var data = " ";
req.on("data", function(chunk)
{
data += chunk;
});
req.on("end" , function(chunk){
MongoClient.connect(url , function(err,db){
if(err) throw err;
var q = querystring.parse(data).
db.collection('res').insertOne(q,function(err,res){
if(err) throw err;
console.log("data is insert");
db.close();
});
})
});
}
}).listen(port);
console.log(port);
好吧,我建議你這樣走。
1- creating mongodburl
時不要使用數據庫名稱
更換
var url ="mongodb://127.0.0.1:27017/college";
與
var url ="mongodb://127.0.0.1:27017/";
現在,當您嘗試與mongodb
服務器連接時,您將在回調函數中獲得mongodb constructor
函數,因此您必須多添加一行代碼。 像下面這樣
MongoClient.connect(url , function(err,dbC){
if(err) throw err;
var db = dbC.db("college");
var q = querystring.parse(data).
db.collection('res').insertOne(q,function(err,res){
if(err) throw err;
console.log("data is insert");
db.close();
});
})
這樣,您將獲得為database
college
定義的res
集合(我假設您已經通過諸如db.createCollection('res')
類的查詢在數據庫中定義了該集合),然后它應該可以工作了
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.