Articles of 集合

db.collectionNames在Node.js中不起作用

我想检查一下在Node.js中是否存在一个集合。 我使用db.collectionNames获取数据库中的名称列表,但没有发生任何事情。 代码: connectDB(DBURL).then(function(db) { console.log('db connect ok'); db.collectionNames('test', function(err, collectionNames) { console.log('get collection names'); if(err) console.log(err); else console.log(collectionNames); }); }, function(err) { console.log(err); }); connectDB(DBURL)是一个promise对象,它工作的很好。 输出: app-0 try to connect db app-0 db connect ok 你可以看到collectionNames的函数没有任何输出。 我不知道为什么。 我可以通过db.getCollectionNames在Mongo shell中获取集合名称: > db.getCollectionNames() [ "system.indexes", "test" ]

通过这个node.js字典获得值的关键

我正在使用这个node.js收集模块。 http://www.collectionsjs.com/ 我想从字典中获得价值的关键。 这是我的代码; "use strict"; var Dict = require("collections/dict"); var Data_type = new Dict( { "00": "DATA_NOT", "01": "DATA_SENSOR", "02": "DATA_SENSOR2", "03": "DATA_SENSOR3", }); 从钥匙中获得价值很简单。 Data_type.get("00"); 将返回DATA_NOT 。 但是,我在获得价值的钥匙方面遇到了问题。 最好,我想做一些像Data_type.getKey("DATA_NOT"); 并返回"00" 。 欢迎任何其他方法。

JavaScript地图对象是否被索引来优化map.get?

在V8的幕后,JavaScript-Map-object的键以某种方式build立索引,以优化map.get方法? 或者map.get()只是简单地遍历整个地图,直到发现一个关键匹配? 我对map.get的500,000个以上键/值对的较大映射的效率感兴趣。 我有这么多的映射,我只想caching在内存中,而不是查询数据库的密钥已经索引的快速检索。 在我看来,查询RAM而不是数据库会更快,如果Map对象的键在某种程度上在后台索引。 抽象: function randomUniqueThing() { // returns (magically) a unique random: // string, number, function, array or object. } var objMap = new Map(); var count = 0; var thing1,thing2; while(count < 500000) { thing1 = randomUniqueThing(); thing2 = randomUniqueThing(); objMap.set(thing1, thing2); count++; } var lastValue = objMap.get(thing1); // Will getting […]

NodeJS / Mongo:通过各种集合循环查询

我正在寻找通过使用NodeJS驱动程序的 MongoDB通过各种集合循环查询。 对于这个testing,我使用'findOne'文档中的示例代码在各种Collections中插入一堆文档: collection.insertMany([{a:1, b:1}, {a:2, b:2}, {a:3, b:3}], {w:1}, function(err, result) { test.equal(null, err); 同时创build各种集合(每个集合至less有一个先前插入的文档实例): testing TEST1 TEST2 TEST3 TEST4 TEST6 test10 我想要的是收集我在数据库中的集合列表(在我的情况下是'test' ): var MongoClient = require("mongodb").MongoClient, test = require("assert"); MongoClient.connect("mongodb://localhost:27017/test", function(err, db) { db.listCollections().toArray(function(err, items) { test.ok(items.length >= 1); console.log(items); db.close(); }); }); 然后popup前面提到的collections列表。 到目前为止,一切都是正确的! 我甚至可以遍历数组来获取集合的名称: var MongoClient = require("mongodb").MongoClient, test = […]

在nodejs脚本中列出mongo数据库中的所有集合

我已经find了几个在shell中列出集合的答案,但是我已经发现在nodejs脚本中列出集合的所有答案似乎已被弃用,像collectionNames和moongose.connection.db返回没有方法的答案。