小编Mik*_*kaS的帖子

使用MongoClient v3.0时,db.collection不是函数

我一直在使用MongoDB在nodeJS上尝试W3schools教程.

当我尝试在nodeJS环境中实现此示例并使用AJAX调用调用该函数时,我收到以下错误:

TypeError: db.collection is not a function
    at c:\Users\user\Desktop\Web Project\WebService.JS:79:14
    at args.push (c:\Users\user\node_modules\mongodb\lib\utils.js:431:72)
    at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:254:5
    at connectCallback (c:\Users\user\node_modules\mongodb\lib\mongo_client.js:933:5)
    at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:794:11
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)
Run Code Online (Sandbox Code Playgroud)

请在下面找到我实现的代码:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mytestingdb";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  db.collection("customers").findOne({}, function(err, result) {
    if (err) throw err;
    console.log(result.name);
    db.close();
  });
});
Run Code Online (Sandbox Code Playgroud)

请注意,只要执行命中,就会发生错误:

db.collection("customers").findOne({}, function(err, result) {}
Run Code Online (Sandbox Code Playgroud)

另外,请注意(如果重要的话)我已经为节点JS安装了最新的MongoDB软件包(npm install mongodb),而MongoDB版本是MongoDB Enterprise 3.4.4,使用MongoDB Node.js驱动程序v3.0.0-rc0.

mongodb node.js

117
推荐指数
9
解决办法
8万
查看次数

http.createserver与node.js中的net.createserver

我无法理解node.js中net.createserver和http.createserver之间的区别.

我已阅读了位于这两个网址,这两种方法的文档 https://nodejs.org/api/net.html#/net_net, https://nodejs.org/api/http.html#/http_class_http_server.

据我所知,http.createserver创建了一个http服务器.但是,文档说net.createserver创建了一个tcp服务器.据我所知,tcp是http的传输协议,http服务器设置为读取http请求头.我也非常了解node.js中偶数发射器的概念.但是,我不明白这个tcp服务器的概念以及为什么会在node.js中创建一个.上下文是我正在编写"node.js in action"一书中的聊天应用程序示例.

tcp node.js

30
推荐指数
2
解决办法
5822
查看次数

Babel在2018年仍然需要​​吗?

我现在正在学习JavaScript,有些人说我学习了HTML和CSS以及vanilla Javascript之后我需要了解ES6/ES2015.当我在Youtube上观看教程时,它说我们需要Babel或类似的东西供浏览器阅读.所以我很想知道因为那个视频不是那么老(但还是很老).还有必要让Babel或我跳过这个Babel的东西吗?

javascript babeljs

30
推荐指数
2
解决办法
8139
查看次数

上面有scrollView和Layout的SwipeRefreshLayout

我有以下布局

<android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
            //some views here
        </LinearLayout>

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="*" >
        </TableLayout>

    </LinearLayout>

</android.support.v4.widget.SwipeRefreshLayout>
Run Code Online (Sandbox Code Playgroud)

问题是当我向下滚动表格时,我无法再次滚动,因为正在触发swipelayout.仅当表的第一个视图可见时,如何触发swiperefresh?

android swiperefreshlayout

24
推荐指数
3
解决办法
2万
查看次数

如何在Node.js中找到文件的大小?

我正在使用multer上传我的图像和文档,但这次我想限制上传,如果图像的大小> 2mb.如何找到文档文件的大小?到目前为止,我尝试如下,但没有工作.

var storage = multer.diskStorage({
      destination: function (req, file, callback) {
        callback(null, common.upload.student);
      },
      filename: function (req, file, callback) {  
        console.log(file.size+'!!!!!!!!!!!!!!')======>'Undefined'
        var ext = '';
        var name = '';
        if (file.originalname) {
          var p = file.originalname.lastIndexOf('.');
          ext = file.originalname.substring(p + 1);
          var firstName = file.originalname.substring(0, p + 1);
          name = Date.now() + '_' + firstName;
          name += ext;
        }
        var filename = file.originalname;
        uploadImage.push({ 'name': name });
        callback(null, name);
  }
});
Run Code Online (Sandbox Code Playgroud)

谁能帮帮我吗?

javascript node.js express multer

22
推荐指数
3
解决办法
3万
查看次数

如何让主div容器与中心对齐?

我一直想知道其他人如何与主要div容器的中心对齐,因为我到目前为止管理的唯一方法是向css文件添加以下内容:

*{
padding:auto;
margin:auto;
text-align:centre;
}
Run Code Online (Sandbox Code Playgroud)

我看过其他页面使用过:*{padding:0px;margin:0px}但是我看不到他们在哪里或者做了什么来集中主容器.

有人可以解释一下吗?

代码示例:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type" />
<title>This is the main container</title>
<style type="text/css">
*{
padding:auto;
margin:auto;
text-align:center;
}
</style>
</head>
<body>
<div style="width:400px;background-color:#66FFFF;display:block;height:400px;">
<b>This is the main container.</b>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

有谁可以解释他们是如何在下一页中做到的?

http://www.csszengarden.com/?cssfile=/179/179.css&page=4

html css alignment

19
推荐指数
1
解决办法
20万
查看次数

删除信号发送的对象,信号中对象的所有权,Qt

在这里,我的信号声明:

signals:
    void mySignal(MyClass *);
Run Code Online (Sandbox Code Playgroud)

以及我如何使用它:

MyClass *myObject=new myClass();
emit mySignal(myObject);
Run Code Online (Sandbox Code Playgroud)

这是我的问题:谁负责删除myObject:

  1. 发件人代码,如果在使用myObject之前删除了什么?悬挂指针

  2. 插槽连接到信号,如果没有插槽或连接到信号的多个插槽怎么办?内存泄漏或悬空指针

Qt如何在其内置信号中管理这种情况?它是否使用内部引用计数?

你最好的做法是什么?

c++ qt signals-slots qt-signals

17
推荐指数
2
解决办法
4059
查看次数

部署后如何强制客户端重新加载?

我正在使用MEAN堆栈(mongo,express,angular和node).我每隔几天就会相对频繁地部署到生产中.我担心的是我有时会更改客户端代码和API,我宁愿不必确保API与以前版本的客户端代码的向后兼容性.

在这种情况下,当我推向生产时,确保所有客户重新加载的最有效方法是什么?我已经看过,例如Evernote有一个弹出窗口,上面写着一些内容,请重新加载浏览器以获取最新版本的Evernote.我想做类似的事情...我需要沿着socket.io或sock.js的路径走下去,还是我错过了一些简单的东西,有一种更简单的方法来实现这一点?

javascript client node.js socket.io mean-stack

15
推荐指数
1
解决办法
1万
查看次数

如何在Linux上安装Wireshak并捕获USB流量?

我在Wireshark的安装中遇到了很多问题,并且捕获了USB流量,特别是由于用户权限.

在答案中,我描述了完成这项工作的完整工作流程.每个问题的答案都在不同的论坛上给出,所以我想我会在一个答案中将所有内容整合在一起,以避免未来的用户在他们遇到的每一个问题上使用Google.

linux usb ubuntu root wireshark

12
推荐指数
1
解决办法
1万
查看次数

获取Twitter用户的整个用户时间表

我想从一个Twitter用户那里得到所有用户的推文,到目前为止,这是我提出的:

import twitter
import json
import sys
import tweepy 
from tweepy.auth import OAuthHandler


CONSUMER_KEY = ''
CONSUMER_SECRET= ''
OAUTH_TOKEN=''
OAUTH_TOKEN_SECRET = ''

auth = twitter.OAuth(OAUTH_TOKEN,OAUTH_TOKEN_SECRET,CONSUMER_KEY,CONSUMER_SECRET)


twitter_api =twitter.Twitter(auth=auth)

print twitter_api

statuses = twitter_api.statuses.user_timeline(screen_name='@realDonaldTrump')
print [status['text'] for status in statuses]
Run Code Online (Sandbox Code Playgroud)

请忽略不必要的进口.一个问题是,这只会获得用户最近的推文(或前20条推文).是否有可能获得所有用户的推文?据我所知,GEt_user_timeline(?)只允许3200的限制.有没有办法获得至少3200条推文?我究竟做错了什么?

python twitter tweepy

8
推荐指数
1
解决办法
1万
查看次数