来自 Mongoose 的 Model.create() 不会将文档保存在我的 Collection 中
Model.create() from Mongoose doesn´t save the Documents in my Collection
我创建了一个带有模式和模型的单一应用程序来创建 Collection 并插入一些文档。
我有我的 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}`);
}
});
我的问题是此文档没有保存在 collection 中!!当我访问数据库时,那里什么也没有。
这是我的 app.js 文件:
mongoose.connect("mongodb://localhost:27017/nodeTodo")
.then(connection => {
app.listen(port);
})
.catch(err => {
console.log(`Could not establish Connection with err: ${err}`);
});
有人可以帮我吗?
谢谢
您不能在不创建对象实例的情况下直接使用对象。
尝试创建一个实例并调用相应的函数 instance.In 你的情况,创建实例后保存文档,它就像一个魅力。
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
}
})
创建集合后,您可以使用函数 inserMany 插入单个文档,该函数接收一个对象数组并自动将其保存到给定的集合中
示例:
Pet = new mongoose.model("pet",schemas.petSchema)
Pet.insetMany([
{
//your document
}])
它只会保存一个硬编码文档
希望对您有所帮助
我创建了一个带有模式和模型的单一应用程序来创建 Collection 并插入一些文档。
我有我的 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}`);
}
});
我的问题是此文档没有保存在 collection 中!!当我访问数据库时,那里什么也没有。
这是我的 app.js 文件:
mongoose.connect("mongodb://localhost:27017/nodeTodo")
.then(connection => {
app.listen(port);
})
.catch(err => {
console.log(`Could not establish Connection with err: ${err}`);
});
有人可以帮我吗?
谢谢
您不能在不创建对象实例的情况下直接使用对象。 尝试创建一个实例并调用相应的函数 instance.In 你的情况,创建实例后保存文档,它就像一个魅力。
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
}
})
创建集合后,您可以使用函数 inserMany 插入单个文档,该函数接收一个对象数组并自动将其保存到给定的集合中
示例:
Pet = new mongoose.model("pet",schemas.petSchema)
Pet.insetMany([
{
//your document
}])
它只会保存一个硬编码文档
希望对您有所帮助