前提
- MongoDB Serverがローカルで動作している前提
- MongoDB ver 2
- Mongoose ver 4.5.9
MongoDB(ver2)インストール
npm install mongodb@2 --save
MongoDB接続テスト
connect_mongodb.js
const MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/Test', (err, db) => {
if (err) {
return console.log('Unable to connect to MongoDB server.');
}
console.log('Connected to MongoDB server');
db.close()
});
node connect_mongodb.js
mongoose インストール
npm install mongoose@4.5.9 --save
mongoose接続テスト
db/mongoose.js
var mongoose = require("mongoose");
mongoose.Promise = global.Promise;
mongoose.connect(process.env.MONGODB_URI); //環境変数
module.exports = { mongoose };
models/todo.js
var mongoose = require("mongoose");
var Todo = mongoose.model('Todo', {
text: {
type: String,
required: true,
minlength: 1,
trim: true
},
completed: {
type: Boolean,
default: false
},
completedAt: {
type: Number,
default: null
},
_creator: {
type: mongoose.Schema.Types.ObjectId,
required: true
}
});
module.exports = { Todo };
mongoose-test.js
require('../config/config.js')
const { ObjectID } = require("mongodb")
const { mongoose } = require("../db/mongoose");
const { Todo } = require("../models/todo");
const userOneId = new ObjectID();
// careate todos[]
const todos = [{
_id: new ObjectID(),
text: 'First test tod',
_creator: userOneId
}, {
_id: new ObjectID(),
text: 'Second test tod',
completed: true,
completedAt: 333,
_creator: userOneId
}]
// remove all and Create todos[] and find
Todo.remove({}).then(() => {
Todo.insertMany(todos).then(()=>{
Todo.find({}).then((todos) => {
console.log('Todos', todos);
})
})
});
node .\mongoose-test.js
Todos [ { _id: 5b614f87c3fbed2318feba17,
text: 'First test tod',
_creator: 5b614f87c3fbed2318feba16,
completedAt: null,
completed: false },
{ _id: 5b614f87c3fbed2318feba18,
text: 'Second test tod',
_creator: 5b614f87c3fbed2318feba16,
completedAt: 333,
completed: true } ]