在mongoose中都是先要定义一个模式,再定义一个模型。如下:
但是现在我需要直接使用mongo数据库中已有的数据,我上图二中有使用mongoose.collection(集合名)来连接一个数据集合,但是报错了:
初学者,有点搞不明白,还请大神指点
在mongoose中都是先要定义一个模式,再定义一个模型。如下:
但是现在我需要直接使用mongo数据库中已有的数据,我上图二中有使用mongoose.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
5 回答4.8k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.2k 阅读
要想使用mongooes来连接mongo数据库中已有的一个数据集合,需要在定义模式的时候加一个参数{ collection: "集合名" },这里的集合名是数据库中已有的集合。如下:
之后定义模型的时候和之前是一样的:
这里的第三个参数是解决在数据库中集合名会自动变为复数的问题