【问题标题】:get count collection with socket.io-mongodb使用 socket.io-mongodb 获取计数集合
【发布时间】:2017-03-03 23:42:44
【问题描述】:

我正在尝试做一个简单的任务。 首先,在客户端,我将数据发送到服务器,然后将这些数据插入到我的 mongodb 数据库中。 然后我尝试从我的数据库中获取客户数量。

var express = require('express');
var MONGO_URL = "mongodb://localhost:27017/mydatabase";
var app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
mongo = require('mongodb').MongoClient,
fs = require('fs');
var countUserSuscribed =0;

//here i insert data
/* Connection events */
io.on('connection', function (client) {
console.log("User connected");
    client.on('InsertNewUser', function (newUser) {
        console.log("we ar in InsertNewUser event");
        //////////////////////////////////////////////////////////
        mongo.connect(MONGO_URL, function (err, db) {
            console.log("we are connected to mongodb");
            var Users = db.collection('User');
            console.log("on crée la collection et on fait l'ajout");
            Users.insert({ player: myP }, function (err, o) {
                if (err) { console.warn(err.message); }
                else { console.log("user inserted into db: user"); }
            });
        });
    })
});

//GET COUNT USER
console.log("here we get count user");
mongo.connect(MONGO_URL, function (err, db) {
countUserSuscribed = Users.count();
console.log("we got " + countUserSuscribed + " user in mongoDB");

});

使用此代码,我可以创建集合和插入文档,但计数功能不起作用,而且我在 npm 文档中没有找到太多解释。 除了使用 socket.io-mongodb 插入和收集之外,是否可以使用其他 mongodb 函数? 如果是,有人可以举个例子或解释一下如何使用它吗?

【问题讨论】:

  • 所以你只是计算所有插入的记录?
  • 是的,这就是我现在想要做的,但不仅如此,我希望能够使用所有 mongodb 插入、创建、更新、删除或查询功能。 mongodb-autoincrement 可以吗?

标签: javascript node.js mongodb socket.io


【解决方案1】:

count 函数有效,但它是异步函数,需要回调。 这是修复:

countUserSuscribed = Users.count(function (err,c) { console.log(c) });

【讨论】:

  • 谢谢,然后通过添加回调,我还可以使用 collection.find()、.insertMany()、remove() 等?
【解决方案2】:

https://www.npmjs.com/package/mongodb-autoincrement 考虑使用它。它跟踪所有插入的文档。此外,它还有一个方便的功能来获得下一个计数。示例假设您插入了两条记录。如果您调用下一个计数,它将显示 3。因此,要获取插入的总文档,调用 get next count - 1. 有意义吗?

对不起,这里是正确的。 https://www.npmjs.com/package/mongoose-auto-increment

【讨论】:

  • 使用猫鼬自动增量
  • 先生,做到了吗?
  • 是的,确实如此。是否也可以用它查询特定的值?
  • 嗯,我们在这里谈得有多具体?
猜你喜欢
  • 2014-10-17
  • 1970-01-01
  • 1970-01-01
  • 2018-07-02
  • 2016-12-15
  • 2021-04-24
  • 2012-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多