草庐IT

Asynchronous

全部标签

java - 程序在 Mongodb 异步查询完成之前终止

我正在学习教程:http://mongodb.github.io/mongo-java-driver/3.2/driver-async/reference/crud/.我只是想连接到数据库并读取我创建的包含2个文档的集合:importcom.mongodb.async.SingleResultCallback;importcom.mongodb.async.client.MongoClient;importcom.mongodb.async.client.MongoClients;importcom.mongodb.async.client.MongoCollection;import

node.js - 如何强制for循环等待回调在nodejs中完成?

entry.find(function(err,user){for(vari=0;i所以我在这里要做的是等待每个for循环完成,然后再调用异步可分配函数。Assigntable是对数据库进行更改的回调。我现在遇到的问题是,由于在for循环完成后调用了assigntable的回调,所有用户都将被分配到表1。但我想要的是:将第一个分配给表1->在下一个循环中分配表检测到表1已分配->用户2分配给表2,依此类推。我该怎么做?编辑:Assgintable是一个递归调用,它在回调中编辑数据库。更新将基于上一个循环生成的数据库的结果,但我在这里不相关。functionassigntable(use

node.js - 将 Mongoose 查询结果存储在另一个 Mongoose 查询中

我是nodeJs和mongodb的新手。我在查询Mongoose对象时遇到了一些问题。我有2个模型用户模型:varmongoose=require('mongoose');varbcrypt=require('bcrypt');vargravatar=require('gravatar');varSchema=mongoose.Schema;varSendSchema=require('./Send').schema;varTravelSchema=require('./Travel').schema;varUserSchema=newSchema({name:String,email

javascript - 使用 MongoDB 数据库为每个查询打开一个新连接是好习惯吗?

我正在创建一个将用户数据存储在MongoDB数据库中的网络服务器。Web请求背后的代码使用异步函数将文档插入数据库,但由于这些函数是异步的,这意味着对于每个请求都会与服务器建立一个新连接。exports.create_user=function(username,password,callback){mongo.connect(url,function(err,db){db.collection('users').insertOne({username:username,password:password},function(err,result){callback(result)db

javascript - Mongoose 的 findOneAndUpdate 和 upsert 中的重复键错误

当来self的csv文件的输入有两行或更多行具有相同的电子邮件地址时,我在使用findOneAndUpdate时遇到了一些问题。电子邮件地址在我的模型中设置为唯一,我认为findOneAndUpdate可以让我处理csv文件中的重复。代码如下。阅读here这是因为我的查询中的字段(在本例中为电子邮件)也是我想要创建的字段之一,以防找不到记录。我不确定这是不是真的。在任何情况下,电子邮件都是我的标识符,所以它必须在那里。进一步解释该行为:当csv文件包含在我运行脚本之前已存储在MongoDB中的电子邮件地址时,findOneAndUpdate完美运行但是,当我在csv文件中有两条记录共享

javascript - NodeJs + Mongo db 无法等待结果

我正在使用NodeJs和MongoDB开发一个WebApi。我遇到了一个问题,我的await语句没有被等待...这是一个代码示例和输出,对我来说毫无意义..代码asyncfind_nearby_places(lng,lat,tag,maxDistance){letresults=[];awaitMongoClient.connect(url,asyncfunction(err,db){letplaces=db.db(db_name).collection(collection_places);letnearbyplaces=places.find({"location":{$near:

node.js - Node.js 和 MongoDb 中同步应用程序的结构

我需要构建一个应用程序来执行这些事情(按顺序):onload:01-connecttoMongoDB'db'02-createsacollection'cas'03-checkifawebpagehasupdates,ifyesgotostep04,ifnotgotostep0704-dowebscraping(usingCheerio)ofthewebsiteandgeta$variablelikethat$=cheerio.load(body);05-elaboratethisobjecttogetonlyinformationsI'minterestedinandorganize

node.js - 如何在 Connect 中间件中对 mongoDB 进行异步调用?

假设我有以下Express/Connect中间件:returnfunction(req,res,next){mongoose.connect(url,options);varConfig=mongoose.model('Config',mongoose.Schema({field1:Boolean,field2:[]}));Config.findOne({},function(err,doc){if(!err){if(someCondition)//somelogic:sendresponseandinterruptmiddlewarechainres.end('Somerespons

javascript - 在 Node.js 中连接 MongoDB 在 for 循环中不起作用

我有一个连接本地mongoDB数据库的函数,但是当我尝试将其放入for循环时,连接突然不起作用。varconnectMongo=require("./ConnectToMongoDB");varinsertDocument=require("./InsertDocument");functionspamMongoDBtest(){process.nextTick(function(){varmax=500;for(vari=0;i为什么我会得到这个AssertionError:AssertionError:null=={[MongoError:connectECONNREFUSED]n

javascript - meteor 在 mongodb 数据库上获得双重插入

以下代码是将有关费用和已完成任务的信息收集到账单数据库中的事件。每次我运行这个过程时,我都会在账单数据库中获得2个条目。第一个条目总是空的,第二个条目有我想要的条目。'click.ConfirmCloseCase':function(event){varcaseID=Session.get('CurrentClosingCaseID');varTasksToChange=Tasks.find({caseID:caseID,done:true,billed:false});varExpensesToChange=Expenses.find({caseID:caseID,billed:fa