2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

express & mongodb & mongooseの基本

Last updated at Posted at 2018-08-01

前提

  • 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 } ]
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?