2015-03-31 61 views
0

我基本上堅持到本教程(http://mongoosejs.com/docs/index.html),但我沒有得到一個錯誤,也沒有改變我的數據庫中的任何東西。Mongoose保存到數據庫:沒有錯誤

代碼:

(function() { 
    var configDB, environment, mongoose; 

    mongoose = require('mongoose'); 

    environment = require('../config/config.js')(); 

    configDB = require('../config/database.js')(environment); 

    exports.saveInDatabase = function(books) { 
    var db, page, book, test1; 
    console.log("start"); 
    mongoose.connect(configDB.url, { 
     auth: { 
     authdb: configDB.authdb 
     } 
    }, function(err) { 
     if (err) { 
     return console.log(err); 
     } 
    }); 
    db = mongoose.connection; 
    db.on('error', console.error.bind(console, 'connection error:')); 
    db.once('open', function(callback) { 
     return console.log("callback", callback); 
    }); 
    book = require('../models/book.model'); 
    page = require('../models/page.model'); 
    test1 = new book({ 
     "href": "htttp://google.de", 
     "title": "test1", 
     "pages": [ 
     { 
      "name": "page1" 
     }, { 
      "name": "page2" 
     } 
     ] 
    }); 
    test1.save(function(err) { 
     if (err) { 
     return console.error("err", err); 
     } 
     return console.log("saved"); 
    }); 
    return console.log("done"); 
    }; 

}).call(this); 

架構book.model.js:

var mongoose = require('mongoose'); 

// define the schema for book model 
var bookSchema = mongoose.Schema({ 
    href: { 
     type: String, 
     required: true, 
     unique: true 
    }, 
    title: String, 
    pages: [{id: mongoose.Schema.Types.ObjectId, name: String}] 
}); 

module.exports = mongoose.model('book', bookSchema); 

架構page.model.js:

var mongoose = require('mongoose'); 

// define the schema for page model 
var pageSchema = mongoose.Schema({ 
    id: { 
    type: mongoose.Schema.Types.ObjectId, 
    required: true, 
    unique: true 
    }, 
    amount: String, 
    name: String 
}); 

module.exports = mongoose.model('page', pageSchema); 

登錄時分貝我得到我的數據庫,當記錄test1時,我得到了帶有自定義ID的JSON數組。

{ href: 'htttp://google.de', 
    title: 'test1', 
    _id: 551acbde9a579f64b70eb44e, 
    pages: 
    [ { name: 'page1', _id: 551acbde9a579f64b70eb450 }, 
    { name: 'page2', _id: 551acbde9a579f64b70eb44f } ] } 
+0

您可以發佈您的'Schema'的代碼嗎? – 2015-03-31 16:45:10

+0

已更新它,請再檢查一次thx – 2015-03-31 16:50:58

回答

0

該代碼在我的開發服務器上運行後會退出代碼。 mongodb操作是異步的,因此在保存之前該進程已被終止。

+0

當你試圖用同樣的'href'添加'book'時,它會拋出一個'MongoError',對吧? – 2015-03-31 17:21:57

+0

Thx我正在重建這一切。在第一步中,我只想看到數據庫中的任何內容。 – 2015-03-31 17:29:20