我創建了一個帶有模式和模型的單一應用程式來創建一個集合并插入一些檔案。
我有我的 todoModel.js 檔案:
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const todoSchema = new Schema({
username: String,
todo: String,
isDone: Boolean,
hasAttachment: Boolean
});
const Todos = mongoose.model("Todo", todoSchema);
module.exports = Todos;
然后我創建了一個帶有我的檔案樣本的 setUpController.js 檔案。然后我創建一個模型并傳遞我的檔案樣本和我的模式。我創建了一個回應,以 JSON 格式發送 tje 結果。這里一切都很好,因為我在訪問路由時得到了 json 的結果。
這是代碼:
Todos.create(sampleTodos, (err, results) => {
if (!err) {
console.log("setupTodos sample CREATED!")
res.send(results);
}
else {
console.log(`Could not create the setupTodos Database sample, err: ${err}`);
}
});
我的問題是這個檔案沒有保存在集合中!當我訪問資料庫時,什么都沒有。
這是我的 app.js 檔案:
mongoose.connect("mongodb://localhost:27017/nodeTodo")
.then(connection => {
app.listen(port);
})
.catch(err => {
console.log(`Could not establish Connection with err: ${err}`);
});
有人可以幫我嗎?
謝謝
uj5u.com熱心網友回復:
您不能直接使用物件而不創建它的實體。嘗試創建一個實體并對該實體進行相應的函式呼叫。在您的情況下,在創建實體后保存檔案,它就像一個魅力。
const newTodos = new Todos({
username: "username",
todo: "todos",
isDone: false,
hasAttachment: flase
});
const createdTodo = newTodos.save((err, todo) => {
if(err) {
throw(err);
}
else {
//do your staff
}
})
uj5u.com熱心網友回復:
創建集合后,您可以使用函式 inserMany 插入單個檔案 該函式接收物件陣列并自動將其保存到給定集合
例子:
Pet = new mongoose.model("pet",schemas.petSchema)
Pet.insetMany([
{
//your document
}])
它只會保存一個硬編碼檔案
我希望它有幫助
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487250.html
上一篇:型別缺少“Schema<any,Model<any,any,any,any>,{},{}>'型別的以下屬性:add、childSchemas、clearIndexes
