【发布时间】:2019-08-16 19:50:45
【问题描述】:
我正在尝试编写一个将在 Node.js 上本地运行的 JavaScript 应用程序。然后我想要用户输入命令,这些命令将从 MongoDb 连接中插入、更新或删除数据。
换句话说,我希望 MongoDb 连接在 node.js 运行时保持打开状态,以便用户的命令执行它打算执行的操作。
我尝试使用多个连接,但这似乎不适用于承诺堆栈。用户将插入一个对象,但如果他们随后尝试删除该对象,则不会发生任何事情。
const MongoClient = require('mongodb').MongoClient;
const uri = require('./mongoConnection.json'); // this is my connection information
const mongoClient = new MongoClient(uri.connectionString, { useNewUrlParser: true });
mongoClient.connect(function(err, db){
var dbo = db.db("TestBotDb").collection("Test");
dbo.insertOne({ "data1" : "new data", "data2" : "new data2" });
var result = dbo.findOne({ "data2" : "new data2" });
dbo.deleteOne({ "_id" : result._id});
});
由于插入似乎不会立即发生,我不知道以后如何将其分解为函数。我不想在应用程序运行时等待插入以尝试删除对象。我不一定知道用户何时插入,何时尝试删除。
【问题讨论】:
标签: javascript mongodb promise