簡體   English   中英

插入Mongodb集合(新手)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM