草庐IT

node-schedule

全部标签

node.js - 如何处理 Angular.js 中的嵌套数据选择表单?

我有一个node.js应用程序,其中的表单有一个选择器。该应用程序通过mongoose从mongodb加载数据并填充嵌套引用对象。所以我的数据看起来像:{"__v":0,"_id":ObjectId("51199c96c13e06ae33000001"),"consortium":{_id:'510f234198e6c75a3a1b43eb',imageURLsm:'/asdf.jpg',name:'COOLNAME'},"description":"MyDescription","gdp":1234,"imageURL":"http://foo.com","location":"ht

javascript - 从 Node.js 向 MongoDB 插入文件时出错

我正在尝试从node.js连接到mongoDB并将文件(“函数”)上传到MongoDB。有人可以验证我的代码有什么问题吗。当我运行js文件时,出现以下错误:错误:找不到模块“mongodb”在Function.Module._resolveFilename(module.js:338:15)在Function.Module._load(module.js:280:25)代码如下:varmongodb=require('mongodb');varurl=require('url');varlog=console.log;varcurrentTimeStamp=newDate();varf

node.js - 无法使用 Mongoose 在 NodeJS 中使用 $ 或查询

我有一个NodeJS应用程序,它有一个函数,它接受一个id并从我的MongoDB数据库返回一个与所述id相对应的对象。id可以匹配到我模型中的_id(ObjectID)或external_id(字符串),为什么我要过滤掉id等于_id或等于external_id的对象。我写了这段代码,但是当我在NodeJS中运行它时它似乎不起作用,但是如果我在终端的mongo中尝试它它工作正常:myModel.findOne({$or:[{_id:my_id},{external_id:my_id}]},function(err,model){...});由于它在终端中工作,我猜这两个模型对象的不同类

javascript - 动态更改 MongoDB ReplicaSet 中的 Node

我在javascript中使用mongodb及其native驱动程序。您通过指定集合中的Node连接到副本集:varmainReplSet=newMongoDB.ReplSet([newMongoDB.Server('0.0.0.0,27017,{auto_reconnect:true}),newMongoDB.Server('0.0.0.0',27017,{auto_reconnect:true}),newMongoDB.Server('0.0.0.0',27017,{auto_reconnect:true})],{rs_name:'ReplicaSetName',readPrefe

node.js - 按子文档拆分文档

我现在遇到一个问题,找不到解决方案。我在每个文档的数组中有一个包含子文档的集合,我想为每个子文档检索一个文档。举个例子就更容易解释了。假设我有一个集合的这个“模式”:{a:String,b:[String]}其中a和b都是必需的。该集合的文档如下所示:{a:'hey',b:['me','you']}我想找到一种方法来进行mongoose查询,该查询不会按原样返回该文档,而是返回这两个文档:[{a:'hey',b:'me'},{a:'hey',b:'you'}]这可能吗?提前致谢。附言:我知道一旦我用一个简单的JS函数检索到列表我就可以做到这一点,但我迫不及待地想检索到完整列表并开始使用

mongodb - Node、MongoDB、Mongoose 设计选择——创建两个集合或一个集合

我正在为我的应用程序的mongo集合和mongoose模式的大量设计选择而苦苦挣扎。我的应用程序需要两种帐户类型:学生和教师。这两种帐户类型之间的唯一相似之处在于它们都需要以下字段:名字、姓氏、电子邮件和密码。除此之外,它们是不同的(老师有“作业”、“测试”,学生有“作业”等)我仔细考虑了我的选择,并考虑了以下设计选择:使用mongoose-schema-extend,并为所有帐户。然后,扩展此模式以创建Teacher和学生模式。这意味着两个集合,因此一些冗余字段。登录和创建帐户也存在问题(检查用于登录的电子邮件是学生电子邮件还是教师电子邮件等)创建一个集合“accounts”,并添加

node.js - 通过任意排序跳过和限制 Mongoose 分页的替代方法

首先让我说一下,我读过(MongoDB-paging)使用skip和limit进行分页对性能不利,最好按dateCreated之类的东西排序并修改查询对于每一页。在我的例子中,我让用户指定参数来排序。有些可能是按字母顺序排列的。为这种类型的任意排序指定查询似乎相当困难。是否有一种性能友好的方式来进行任意排序的分页?例子mongoose.model('myModel').find({...}).sort(req.sort)...次要问题:我需要在多大程度上担心这个问题? 最佳答案 我认为你做不到。但在我看来,最好的方法是根据您的req

node.js - 完成 Mongo 写入后 Node csv 调用挂起

我正在使用Node加载CSV文件,然后将其写入MongoDB数据库。它实际上在工作,但脚本没有退出!这是核心:functioncommute_process(csvstr,col_commute){csv().from(csvstr,{columns:true}).transform(function(row){//unimportantstuffreturnrow;}).on('record',function(row){cleanedrow=//unimportantconsole.log(cleanedrow);col_commute.insert(cleanedrow,{w:1

node.js - MongoDb数据关系

我有一个:MongoDB数据库NodeJS上的RESTAPIAngularJS前端现在我想创建数据库架构。它将是:故事-用户插入带有描述的故事。问题-与故事的关系。一个故事可以有100多个问题。答案-与问题相关。一个问题只能有一个答案。我应该在MongoDb中选择什么类型的关系?我需要更快的灵魂。例如:{title:"Storytitle",descr:"Storydescr",questions:[{body:"Questionbody",user:"User}]} 最佳答案 由于每个故事的问题数量可能很大,并且假设在显示故事时不

node.js - MongoDB 地理空间索引,如何与数组元素一起使用?

我想在给定位置附近找到Kevin酒吧的位置。这是userSpots集合:{user:'Kevin',spots:[{name:'a',type:'pub',location:[x,y]},{name:'b',type:'gym',location:[v,w]}]},{user:'Layla',spots:[...]}这是我尝试过的:db.userSpots.findOne({user:'Kevin',spots:{$elemMatch:{location:{$nearSphere:[lng,lat],$maxDistance:d},type:'pub'}}},},function(er