如何使用mongoose连接数据库中已经存在的一个集合。

在mongoose中都是先要定义一个模式,再定义一个模型。如下:图片描述

图片描述

但是现在我需要直接使用mongo数据库中已有的数据,我上图二中有使用mongoose.collection(集合名)来连接一个数据集合,但是报错了:图片描述

初学者,有点搞不明白,还请大神指点

阅读 8.9k
3 个回答

要想使用mongooes来连接mongo数据库中已有的一个数据集合,需要在定义模式的时候加一个参数{ collection: "集合名" },这里的集合名是数据库中已有的集合。如下:图片描述

之后定义模型的时候和之前是一样的:图片描述

这里的第三个参数是解决在数据库中集合名会自动变为复数的问题

mongoose从数据库读取数据, 不需要mongoose.collection('collectionName').
完整的学习参考mongoose文档。简单例子如下,其中{}是具体条件或者数据。
-- model.js --

const mongoose = require('mongoose');
mongoose.connect('mongodb://locahost/dbName')
const dataSchema = new mongoose.Schema({});
const dataModel = mongoose.model('modelName', dataSchema, 'collectionName');
module.exports = dataModel;

-- CRUD data --

let dataModel = require('./model.js');
dataModel.create({}, cb);
dataModel.find({}, cb);
dataModel.update({}, {}, cb);
dataModel.remove({}, cb);

soonfy

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题