【问题标题】:Connecting to existing collection using mongoose使用 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 访问这个集合

谢谢

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:
    
    const getone =async ()=>{
        const post = await db.collection(<collectionName>).findOne({});
        console.log(post)
    }
    
    

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

    【讨论】:

    • 请简要概括您提供的链接内容。请记住,此类内容以后可能不再可用。阅读How to Answer
    猜你喜欢
    • 2018-09-15
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多