使用猫鼬对先前存在的mongoDB Atlas集合进行查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用猫鼬对先前存在的mongoDB Atlas集合进行查询相关的知识,希望对你有一定的参考价值。

我是MongoDB Atlas的新手。我正在尝试使用猫鼬查询我的“ test2”数据库中当前存在的集合“ dogs”。

enter image description here

我正在使用nodeJS执行查询

var mongoose = require('mongoose');    
mongoose.connect('mongodb+srv://*****:*******b@cluster0-uln4x.mongodb.net/test?retryWrites=true&w=majority', {
useUnifiedTopology: true,
useNewUrlParser: true,
})
.then(() => console.log('DB Connected!!!'))
.catch(err => {
console.log('did not work');    });    
var db = mongoose.connection;   
db.on('error', console.error.bind(console, 'connection error:'));

db.once('open', function() {
    db.dogs.find().forEach(printjson);     //ERROR!
 });

导致错误:TypeError:无法读取未定义的属性'find'

为什么狗没有定义?

答案

尝试一下:

var mongoose = require('mongoose');
mongoose.connect('mongodb+srv://*****:*******b@cluster0-uln4x.mongodb.net/test?retryWrites=true&w=majority', {
    useUnifiedTopology: true,
    useNewUrlParser: true,
})
    .then(() => console.log('DB Connected!!!'))
    .catch(err => {
        console.log('did not work', err);
    });

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));

const dogsSchema = new mongoose.Schema({
    any: {}
});

const Dogs = mongoose.model('dogs', dogsSchema, 'dogs');

db.once('open', function () {
    Dogs.find().forEach(printjson);     //ERROR!
});

以上是关于使用猫鼬对先前存在的mongoDB Atlas集合进行查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在路由器文件中使用猫鼬集合

猫鼬对所有文档求和

如何使用猫鼬防止重复文件mongodb

节点/快速应用程序无法使用mongoose连接到Mongodb Atlas

错误:使用 mongoose 连接到 MongoDb Atlas 时的 queryTxt ETIMEOUT

无法将 Mongoose 连接到 Atlas