无法在 express mongo 数据库中输入数据
Unable to enter data in mongo database in express
router.get('/wiki/:topicname', function(req, res, next) {
var topicname = req.params.topicname;
console.log(topicname);
summary.wikitext(topicname, function(err, result) {
if (err) {
return res.send(err);
}
if (!result) {
return res.send('No article found');
}
$ = cheerio.load(result);
var db = req.db;
var collection = db.get('try1');
collection.insert({ "topicname" : topicname, "content": result }, function (err, doc){
if (err) {
// If it failed, return error
res.send("There was a problem adding the information to the database.");
}
else {
// And forward to success page
res.send("Added succesfully");
}
});
});
使用此代码,我尝试将从维基百科获取的内容添加到集合 try1
中。显示 "Added succesfully" 消息。但集合似乎是空的。数据未插入数据库
以正确的路径启动您的 mongod 服务器,即与您用来检查集合内容的路径相同的路径。
sudo mongod --dbpath <actual-path>
数据必须存在,mongodb 默认有 { w: 1, j: true } 写入关注选项,因此如果文档真正插入,它只有 returns 没有错误,如果有任何文件要插入。
您应该考虑的事项:
-请勿使用插入函数,其描述使用 insertOne、insertMany 或 bulkWrite。参考:http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#insert
-插入方法回调有两个参数。如果有错误和结果,则为错误。结果对象有几个属性,可用于插入结果测试后,如:result.insertedCount 将 return 插入文档的数量。
因此,根据您代码中的这些,您仅测试错误,但您可以插入零个文档而不会出现错误。
我也不清楚你从哪里得到你的数据库名称。您的代码中的以下内容是否正确?您确定已连接到要使用的数据库吗?
var db = req.db;
此外,您不必在插入方法中用 " 将 属性 名称括起来。插入内容应如下所示:
col.insertOne({topicname : topicname, content: result}, function(err, r) {
if (err){
console.log(err);
} else {
console.log(r.insertedCount);
}
});
router.get('/wiki/:topicname', function(req, res, next) {
var topicname = req.params.topicname;
console.log(topicname);
summary.wikitext(topicname, function(err, result) {
if (err) {
return res.send(err);
}
if (!result) {
return res.send('No article found');
}
$ = cheerio.load(result);
var db = req.db;
var collection = db.get('try1');
collection.insert({ "topicname" : topicname, "content": result }, function (err, doc){
if (err) {
// If it failed, return error
res.send("There was a problem adding the information to the database.");
}
else {
// And forward to success page
res.send("Added succesfully");
}
});
});
使用此代码,我尝试将从维基百科获取的内容添加到集合 try1
中。显示 "Added succesfully" 消息。但集合似乎是空的。数据未插入数据库
以正确的路径启动您的 mongod 服务器,即与您用来检查集合内容的路径相同的路径。
sudo mongod --dbpath <actual-path>
数据必须存在,mongodb 默认有 { w: 1, j: true } 写入关注选项,因此如果文档真正插入,它只有 returns 没有错误,如果有任何文件要插入。
您应该考虑的事项:
-请勿使用插入函数,其描述使用 insertOne、insertMany 或 bulkWrite。参考:http://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#insert
-插入方法回调有两个参数。如果有错误和结果,则为错误。结果对象有几个属性,可用于插入结果测试后,如:result.insertedCount 将 return 插入文档的数量。
因此,根据您代码中的这些,您仅测试错误,但您可以插入零个文档而不会出现错误。
我也不清楚你从哪里得到你的数据库名称。您的代码中的以下内容是否正确?您确定已连接到要使用的数据库吗?
var db = req.db;
此外,您不必在插入方法中用 " 将 属性 名称括起来。插入内容应如下所示:
col.insertOne({topicname : topicname, content: result}, function(err, r) {
if (err){
console.log(err);
} else {
console.log(r.insertedCount);
}
});