Tag: 数组

在mongodb nodejs中获取特定的数据

我正在使用mongoDB与nodejs服务器。 现在我有一个示例数据: { "_id": ObjectId("555f1c0c7f4b820758b439b0"), "user": "Guest1", "friend": [{ "myfriend": "Guest2", "info": [] }, { "myfriend": "Guest3", "info": [] }] } 现在我想把所有的“我的朋友”放入数组中,像这样: var listfriend = ["Guest2","Guest3"]; 那我该怎么做呢? 感谢阅读:)

使用Node查找对象数组的索引

我正在使用Node的下划线模块。 比方说,我有一个对象的数组; var years = [{year:"2000"}, {year:"2001"}, {year:"2002"}]; 我想find2000(0)的索引 我不认为这是行得通的。 这个模块还有其他的方法吗? 或只是JavaScript? _.indexOf(years,2000);

.splice(x,1)不起作用

我使用Node JS开始了我的第一步,事情一切都好,直到我遇到一个奇怪的行为,我既不能理解也找不到解决方法。 它应该是如此简单,一切都有很好的logging,我可以find这么多的例子,我可能会失去一些非常明显的东西,不幸的是。 放了近2天后,我决定寻求一些帮助…提前感谢。 我正在尝试将对象(clientID,套接字信息)存储在一个数组中,并希望在连接丢失时删除一个对象。 我已经构build了一小部分复制行为的代码。 var socket = require('socket.io'); var machines = []; var mach1 = [new socket(), new socket()]; var mach2 = [new socket(), new socket()]; var mach3 = [new socket(), new socket()]; machines["357973049420265"] = mach1; machines["357973049420266"] = mach2; machines["357973049420267"] = mach3; console.log("Before : " + Object.keys(machines)); machines.splice(0,1); console.log("After : " + Object.keys(machines)); […]

在Javascript / NodeJS中连接未知数量的数组

我有一个我的控制器中的一个函数,我填充一个文档的引用数组,当填充时,它们自己embedded数组。 这是一个例子: mongoose填充函数给了我一个对象数组。 在每个对象中是一个数组: [name:Test,array:[1,2,3,4,5]},{name:TestAgain,array:[1,2,3,4,5]},{name:Test ^ 3,array: [1,2,3,4,5]},{… 期望的输出将是: [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,…] 我需要连接所有的“数组”在填充引用。 我怎么能不知道有多less个数组呢? 作为参考,这里(一般)是什么我的function看起来像: exports.myFunctionName = function ( req, res, next ) Document.findOne({ 'document_id' : decodeURIComponent( document_id )}).populate('array_containing_references').exec(function( err, document) { //Here I need to concatenate all of the embedded arrays, then sort and return the result as JSON (not worried about the sorting). });

从两个来源rx.js追赶订阅

我需要结合追赶和订阅新的饲料。 所以,首先我要查询数据库中所有我错过的新logging,然后切换到所有正在进入的新logging的pub sub。 第一部分很容易做你的查询,也许在500批次,这将给你一个数组,你可以rx.observeFrom。 第二部分很简单,你只需要在pubsub上放一个rx.observe。 但我需要按顺序进行,所以在我开始播放新歌曲之前,我需要播放所有的旧唱片。 我想我可以开始订阅pubsub,把这些放在一个数组中,然后开始处理旧的数据,当我完成后,删除dups(或者因为我做了dup检查)允许less数dups,但是播放积累的logging,直到他们走了,然后一个一个出来。 我的问题是做这件事的最好方法是什么? 我应该创build一个订阅,开始build立一个数组中的新logging,然后开始处理旧的,然后在oldrecord过程的“然后”订阅另一个数组? 好吧,这是我迄今为止。 我需要build立testing,并完成一些psudo代码,以确定它是否工作,更不用说是一个很好的实现。 在我埋葬自己之前,随时可以阻止我。 var catchUpSubscription = function catchUpSubscription(startFrom) { EventEmitter.call(this); var subscription = this.getCurrentEventsSubscription(); // calling map to start subscription and catch in an array. // not sure if this is right var events = rx.Observable.fromEvent(subscription, 'event').map(x=> x); // getPastEvents gets batches of 500 iterates over […]

如何将类似数组的string转换为Node.js中的数组?

我正在编写一个Node.js应用程序的API。 这是一个POST调用,发送一堆数据,并随着它发送timings参数作为一个string看起来像一个数组[["11:00 AM", "1:00 PM"], ["1:00 PM", "4:00 PM"]] 。 当我将它插入到MongoDB中时,它将以数组forms存储,但是将整个文本作为string存储在第一个数组元素中。 我知道我可以通过要求客户端应用程序发送逗号分隔的string(如上午11:00,下午1:00),然后在使用String.split()将其插入到数据库中之前在JavaScript中拆分string,对于单维数组。 我有一个multidimensional array,作为POST请求中的string发送。 我如何将其转换为数组?

Mongoose在find()中使用数组。where()

我有一个string数组,我想用它作为参数在我的MongoDB中查找文档。 基本上我想要做的是 // Using query builder Person. find(). where('name.last').equals('Ghost' || 'ETC' || 'ETC')…. 但是,而不是使用一堆或声明,我只想通过我的string数组。 这可能吗?

Nodejs数组索引函数的用法

我试图在nodejs上开发一个随机的类别Id生成器函数。 首先,我从我的数据库中接收所有现有的类别Id,并将它们推入一个数组,然后生成一个随机整数(在边界之间),然后将随机数与我的cat ID数组进行比较。 我使用indexof()函数进行比较,但它总是返回true; 可能是什么问题。 这是我的代码; var random = require("random-js") var selectCategoryID = "SELECT id from category.category"; var catIdresult = client.querySync(selectCategoryID); var catIdArray = []; catIdresult.forEach(function (row) { var catId = row.id; catIdArray.push(catId); }); var randomNum = new random() var K = randomNum.integer(16777000, 16777999); if(catIdArray.indexOf(K)){ console.log("Error, the id is : " + K); } else […]

理解使用函数,数组和循环的JS编程代码

所以我需要一些帮助来理解这个代码。 我知道这个函数循环这个数组并find最大值的目标。 不过,我对“array [0]”和“array [i]”究竟是什么感到困惑。 提前致谢。 var max_value = function(array) { var result = array[0]; for (var i = 0; i < array.length; i++) { if (array[i] > result) { result = array[i]; }; } return result; } console.log(max_value([1, 50, 2]));

查询指针数组Mongoose Node.js

我有一个正常的MongoDB与2集: 带有数组指针的post。 var Post = mongoose.model('Post', new mongoose.Schema({ groups: {type: [{type: mongoose.Schema.Types.ObjectId, ref: 'Group'}]}, })); var Group = mongoose.model('Group', new mongoose.Schema({ })); 现在我想要查询所有post里有一个组在ID数组中给出的组? 我尝试了以下内容: return Post.find({ groups: req.body.groupId} },function(err,post){ console.log(post); res.send(post); }); 我也尝试先查询组对象,并通过这个而不是groupId? 有人有想法吗?