node.js - 得到“承诺{“Log.save();”处的错误 - Mongodb
问题描述
我正在按照 MongoDB Atlas 博客教程将信息添加到 mongodb 中,但我收到了上述错误。我已尝试解决此错误,甚至尝试过但仍然遇到相同的问题...以下是我的连接文件
async function main(){
/**
* Connection URI. Update <username>, <password>, and <your-cluster-url> to reflect your cluster.
* See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
*/
const uri = "mongodb+srv://an:abc@abc-2yzxs.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri);
try {
// Connect to the MongoDB cluster
await client.connect();
await createListing(client,
{
msg: client.msg
}
);
return client;
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
main().catch(console.error);
async function createListing(client, newListing){
const result = await client.db("mydb").collection("mycollection").insertOne(newListing);
console.log(`New listing created with the following id: ${result.insertedId}`);
}
以下是我的架构
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const mySchema = new Schema(
{
msg: {
type: String
}
}
);
let a = mongoose.model("mycollection", mySchema);
module.exports = a;
我的控制器:
const Log = require('../models/mySchema');
require('../connection');
function createListing(data){
let Log = new Log({ msg: data});
var err = Log.save();
console.log("err is : ", err)
}
exports.createListing = createListing;
这就是我从服务器文件调用的方式
let log = require('./controllers/myController');
log.createListing(data);
解决方案
我个人不会使用猫鼬,尽管你的教程会。我只是用mongodb
.
import { connect } from 'mongodb'
async function main() {
// try-catch
const MONGO = 'mongodb+srv://an:abc@abc-2yzxs.mongodb.net/testretryWrites=true&w=majority'
const client = await connect(MONGO, {
useNewUrlParser: true,
useUnifiedTopology: true })
const mongo = client.db()
const Log = mongo.collection('Log')
await Log.insertOne({ message: 'test' })
}
我知道这与您遇到的问题不同,但我只是不知道为什么mongoose
需要。这不是真的。
推荐阅读
- 3d - CGAL 连接 2 个几何图形
- android - 我的 xml 代码有什么问题?我想做一个 TextInputLayout 但不能
- c# - 在运行时创建泛型类的“实例”
- swift - 领域。项目构建但不归档。iOS 12、斯威夫特 5
- python - 我怎样才能使程序继续?
- laravel - 我如何对 DB::select(...) 结果进行分页并获取 links() 方法?
- c++ - 函数返回动态转换的指针,返回指针,就好像它根本没有被转换一样
- java - 为什么我的位图填充字节不同步时我肯定它应该没问题?
- uisearchbar - iOS 13 - 搜索栏未隐藏在视图显示中
- python - 如何将索引中的外部文件和部分包含到 sphinx 目录中?