Javascript 重新思考数据库-逐个运行查询
我在与RejectDB的单个连接中运行多个查询时遇到问题。我试过上述的r.do,但没有成功。我还尝试过使用条件更新查询。我希望做的是:Javascript 重新思考数据库-逐个运行查询,javascript,node.js,rethinkdb,Javascript,Node.js,Rethinkdb,我在与RejectDB的单个连接中运行多个查询时遇到问题。我试过上述的r.do,但没有成功。我还尝试过使用条件更新查询。我希望做的是: 打开连接 查询以查看我的字段是否存在,如果存在,请执行一些任务 查询以查看是否存在计数字段,将其减去1 最好的办法是什么?我好像错过了什么 r.connect(config.rethinkdb, function(err, conn) { if (err) { throw err; } else { con
r.connect(config.rethinkdb, function(err, conn) {
if (err) {
throw err;
}
else {
console.log('Connected.');
app.set('rethinkdb.conn', conn);
}
r.table('upcs').filter({AcceptedUPC:data}).run(conn, (err, cursor) => {
if (err) throw err;
console.log(data);
cursor.toArray((err,resu) => {
if (err) throw err;
//make a csv with some information
})
})
并在同一连接中运行
r.table('upcs').filter({AcceptedUPC:data}).filter(r.row.hasFields("UPCCount")).update({UPCCount: r.row("UPCCount").sub(1)}).run(conn, (err,cursor) => {
if (err) throw err;
});
在NodeJS中运行它我假设您正在使用它 你可以相信,他们实际上允许你做回访或承诺。我建议承诺避免地狱的包围 对于承诺,你可以利用图书馆让生活变得轻松 您可以通过执行以下操作来完成
r.connect(config.rethinkdb).then(() => {
console.log("Connected");
app.set("rethinkdb.conn", conn);
return r.table('upcs').filter({AcceptedUPC:data}).run(conn);
}).then((cursor) => {
console.log(data); //maybe this should be cursor but I don't use rethinkDB
return cursor.toArray();
}).then((resu) => {
//make a csv with some information
}).catch((err) => {
throw err;
});