使用 mongoose 连接到现有集合

Posted

技术标签:

【中文标题】使用 mongoose 连接到现有集合【英文标题】:Connecting to existing collection using mongoose 【发布时间】:2021-09-08 17:49:13 【问题描述】:

我是 node.js 和 mongoose 的新手,我试图在名为“database”的数据库中访问 MongoDB Atlas 中名为“questions”的现有集合

我能够使用 MongoDB 本机驱动程序来做到这一点:

MongoClient.connect(url, useUnifiedTopology: true ,(err,client)=>
    assert.equal(null,err);
    var db = client.db('database')
    const collection = db.collection('questions');
    collection.findOne(,(err,docs)=>
        assert.equal(null,err);
        console.log("found");
        console.log(docs);
        client.close();
    )
)

但似乎无法使用 mongoose 完成与使用 mongodb 集合中的 findOne() 相同的任务:

mongoose.connect(url,useNewUrlParser: true, useUnifiedTopology: true)

const db = mongoose.connection;
db.once('open',()=>
    console.log("connected")
)

const questionSchema = new mongoose.Schema(,strict:false)

const question = mongoose.model("question",questionSchema,"questions")

const getone =async ()=>
    const post = await question.findOne()
    console.log(post)


getone()

当我运行它时,控制台输出是:

我如何从 mongoose 访问这个集合

谢谢

【问题讨论】:

【参考方案1】:

const getone =async ()=>
    const post = await db.collection(<collectionName>).findOne();
    console.log(post)


你可以试试这个方法,对我有用! 参见文档here

【讨论】:

请简要概括您提供的链接内容。请记住,此类内容以后可能不再可用。阅读How to Answer。

以上是关于使用 mongoose 连接到现有集合的主要内容,如果未能解决你的问题,请参考以下文章

mongoose 模型连接到 mongoDB

mongoose 模型连接到 mongoDB

使用新的节点快速服务器连接到现有 MongoDB

现有数据库中的 Mongoose 节点 API 未返回结果且未显示错误

使用 mongoose 访问现有的 mongodb 集合

使用 mongoose 访问现有的 mongodb 集合