[英]Inserting Into A Mongodb Collection (Newbie)
我是nodejs和mongodb的新手。 我正在嘗試將newClass插入到類集合中。 除此功能外,其他所有功能似乎都可以正常工作。 它給出一個500錯誤,並且不保存該類。
我檢查了mongodb文檔,它似乎是正確的。 有人可以指出正確的方向嗎?
路線
Class.createNewClass(newClass, function(err){
if (err){
console.log(err);
res.send(err);
} else {
console.log('Class saved.")
}
})
模型
module.exports.createNewClass = function(newClass, callback){
Class.insert({newClass}, callback);
}
假設newClass
變量是一個對象,其中包含要保存到新文檔中的所有key:value對,則createNewClass函數中存在語法錯誤,您應該刪除花括號:
module.exports.createNewClass = function(newClass, callback){
Class.insert(newClass, callback);
}
就是說,您為路線發布的代碼看起來不太像是通往我的路線,因此您的轉錄可能沒有發現其他錯誤。
我對您的應用程序的總體結構不是很清楚,但是這是一個非常簡單的Express應用程序,可以將新類插入數據庫。
var express = require('express');
var bodyParser = require('body-parser');
var mongodb = require('mongodb');
var app = express();
app.use(bodyParser.json());
var MongoClient = require('mongodb').MongoClient;
var db;
// Initialize connection once
MongoClient.connect("mongodb://localhost:27017/school", function(err, database) {
if(err) throw err;
db = database;
// Start the application after the database connection is ready
app.listen(3000);
console.log("Listening on port 3000");
});
app.post('/class', function(req,res) {
var collection = db.collection('classes');
var newClass = req.body;
console.log(req.body);
collection.insert(newClass);
res.json(newClass);
});
在您的模型中將其更改為:
module.exports.createNewClass = function(newClass, callback){
Class.collection.insert(newClass, callback);
};
檢查“類”應為架構模型對象。
module.exports.createNewClass = function(newClass, callback){
new Class(newClass).save(callback);
};
這是基本的貓鼬方式。 在貓鼬中,我們對多個文檔使用“插入”,但是您也可以對單個文檔使用插入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.