项目作者: wq93

项目描述 :
MongoClient by node.js
高级语言: JavaScript
项目地址: git://github.com/wq93/MongoClient.git
创建时间: 2019-03-30T09:18:05Z
项目社区:https://github.com/wq93/MongoClient

开源协议:

下载


MongoClient踩坑记录

1. MongoDB连接MongoDB Atlas

  1. /*
  2. * mongodb连接数据库法
  3. * */
  4. const config = require('./config')
  5. const uri = `mongodb+srv://${config.MongoDB.username}:${config.MongoDB.password}@cluster0-w5bwk.mongodb.net`;
  6. const MongoClient = require('mongodb').MongoClient;
  7. MongoClient.connect(uri, {useNewUrlParser: true}, (err, client) => {
  8. if (err) {
  9. console.log('connect error', err)
  10. } else {
  11. console.log('connect is success!!')
  12. const collection = client.db(config.MongoDB.database).collection("Goods");
  13. collection.find().toArray((err, docs) => {
  14. console.log(docs);
  15. });
  16. }
  17. });

2. Mongoose 连接MongoDB

  1. /*
  2. * mongoose
  3. * */
  4. const mongoose = require('mongoose');
  5. const db = mongoose.connection;
  6. const Schema = mongoose.Schema;
  7. const database = config.MongoDB.database;
  8. mongoose.connect(`${uri}/${database}`, {useNewUrlParser: true})
  9. db.on("connected", () => console.log("MongoDB connected success.")) // 连接成功操作
  10. db.on("error", () => console.log("MongoDB connected fail.")) // 连接失败操作
  11. db.on("disconnected", () => console.log("MongoDB connected disconnected.")) // 连接断开操作

Mongoose查询数据库一直返回空的问题

示例代码

  1. const GoodModel = mongoose.model('Good', new Schema({name: String}));
  2. // 增加
  3. // const good = new GoodModel({name: 'DateTime:' + Date.now()})
  4. // good.save((err, docs)=>{
  5. // console.log(docs);
  6. // })
  7. // 查找
  8. GoodModel.find((err, docs) => {
  9. console.log(docs);
  10. });

大坑

mongoose在创建model的时候,会忽略首字母大写变成小写并自动添加s(Good => goods),意思就是我虽然写的是从集合Good中获取数据,但是它自动跑去goods里面获取,所以一直是空数组