我试图连接到mongodb,然后插入一个名为data
的文档,我可以在我的集群上看到我连接,但没有数据插入。我也没有得到任何错误。下面是我的代码:
const {MongoClient, ServerApiVersion} = require('mongodb');
const uri = "mongodb+srv://<user>:<password>-@bussar.v5r4pfd.mongodb.net/?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
MongoClient.connect(uri, { useNewUrlParser: true }).then((client) => {
let db = client.db("Bussar");
});
function createbus(data) {
client.connect(err => {
const bussar = db.collection("busscoll");
bussar.insertOne(data);
client.close()
});
}
我的uri中填写了用户名和密码。
编辑好了,我已经更新了我的代码,我相信它比以前工作得更好。尽管它仍然没有插入任何内容,但我添加了一些检查点,并且只使用找到第一个。代码:
const {MongoClient, ServerApiVersion} = require('mongodb');
const uri = "mongodb+srv://<user>:<password>-@Bussar.v5r4pfd.mongodb.net/bussdb?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
function createbus(data) {
console.log("checkpoint 1");
try {
client.connect(err => {
console.log("checkpoint 2");
const db = client.db("bussdb")
console.log("checkpoint 3");
const bussar = db.collection("busscoll");
console.log("checkpoint 4");
bussar.insertOne(data, (err, result) => {
if (err) {
console.log(err);
return;
}
console.log(result);
client.close();
});
console.log("checkpoint 5");
});
} catch (e) {
console.error(e);
} finally {
client.close();
}
}
我想你没有在你的URI中提到你的MongoDB数据库的集合名称。
const uri = "mongodb+srv://<user>:<password>@bussar.v5r4pfd.mongodb.net/Bussar?retryWrites=true&w=majority/your_collection_name";
您好,您没有插入数据库名称:
在mongodb.net/
之后的<dbname>
位置添加您的db
"mongodb+srv://<user>:<password>-@bussar.v5r4pfd.mongodb.net/<DbName>?retryWrites=true&w=majority";