表达 express、mongodb和mongoose的基本知识

条件

    MongoDB Serverがローカルで動作している前提
    MongoDB ver 2
    Mongoose ver 4.5.9

安装MongoDB(版本2)

使用npm安装mongodb@2,并将其保存 –save

进行MongoDB连接测试

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()
});

运行 connect_mongodb.js 文件的节点

安装 Mongoose

请使用以下命令安装mongoose@4.5.9并保存到npm:

“`npm install mongoose@4.5.9 –save“`

中国母语的释义:尾灰中连接测试。

var mongoose = require("mongoose");

mongoose.Promise = global.Promise;
mongoose.connect(process.env.MONGODB_URI); //環境変数

module.exports = { mongoose };
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 };
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 } ]

bannerAds