簡體   English   中英

使用 javascript 中的 findByID 從 MongoDB 獲取 null ObjectID - 新手

[英]Getting null ObjectID from MongoDB using findByID in javascript - newbie

我是 javascript 和 mongo 的新手,並試圖使用 id 在我的 MongoDB 數據庫集合中找到一門課程,但得到的是 null。 你能幫我解決這個問題嗎?

注意:我使用的是 MacBook。 這是我正在嘗試做的一件非常基本的事情。 我可以使用.find() 獲取 object 但 findByID(id) 似乎對我不起作用。 我錯過了什么? 讓我知道是否需要更多細節。

編輯:一個奇怪的觀察,參考圖像 對於第一個,我找不到它或使用 id 更新它,但我可以找到並更新第二個。 第一個使用 json 文件插入數據庫,第二個使用 javascript 中的.save() 插入。

PFB我的代碼:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/mongo-exercise', { useNewUrlParser: true, useUnifiedTopology: true })
    .then(() => console.log('Connected to mongo-exercise database.'))
    .catch(err => console.log('Could not connect to mongo-exercise database.', err));

// Create the schema
const schema = new mongoose.Schema({
    name: String,
    author: String,
    price: Number,
    tags: [String],
    isPublished: Boolean
});

// Call the schema
const Course = mongoose.model('course', schema);

async function updateCourse(id) {
    try {
        const course = await Course
            .findById(id);
        console.log('Course is ', course);
    }
    catch (err) {
        console.log('Solution failed: ', err.message);
        throw error
    }
}

updateCourse("5a68fdf95db93f6477053ddd");

[在此處輸入圖像描述 ]

發生在我身上。使用指南針導入時,只需取消選擇 _Id 屬性作為其字符串。 當導入 mongodb 驅動程序時,將放入一個新的 object _id 和可以查詢的 objectid。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM