小编Den*_*ear的帖子

在Windows上寻找工具版本的节点npm错误

我试图使用节点,当我通过'npm install package.json'安装npm软件包时,
我目前正在使用Windows 8.1作为我的操作系统.它开始于我开始使用redis但我不确定是否是因为redis.我得到的错误是

MSBUILD:错误MSB4132:工具版本"2.0"无法识别.可用的工具版本是"4.0".

完整的控制台打印出来

如果有人遇到这个错误,如何修复它将不胜感激

javascript msbuild node.js npm windows-8.1

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

将日期值从nodejs插入到mongodb

我正在尝试从expressjs插入一个日期值到mongodb.我正在使用mongodb本机驱动程序.

问题是当我使用创建对象并使用该变量插入它时,日期将作为字符串插入.这是样本 -

var expenseTest = {date: new Date()};

database.collection('expensemaster').insert(expenseTest, function(err, r){
    console.log("query executed");
});
Run Code Online (Sandbox Code Playgroud)

这里DB-中的值

{
    "_id" : ObjectId("584f9b6e8c06a5717d10ee59"),
    "date" : "2016-12-13T06:55:24.698Z",
}
Run Code Online (Sandbox Code Playgroud)

但是当我直接在插入查询中插入对象时,它的日期将返回为ISODate(日期).

这是样本 -

database.collection('expensemaster').insert({date: new Date()}, function(err, r) {
    console.log("query executed");
});
Run Code Online (Sandbox Code Playgroud)

db-中的值

{
    "_id" : ObjectId("584fba82566fc8787e75a7ed"),
    "date" : ISODate("2016-12-13T09:08:18.441Z")
}
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 如果我必须使用insertMany插入具有日期作为字段之一的对象数组.

如何在数据库中获取ISODate(日期)的日期.

mongodb node.js

7
推荐指数
2
解决办法
9991
查看次数

Node.js,Ajax发送和接收Json

使用Ajax,我只是尝试将Json数据发送到节点服务器,没有处理只涉及发送时的警报,并在收到时发出警报:

这是我的html5:带有onclick函数的简单按钮,用于触发使用ajax调用的函数

<!DOCTYPE HTML>
<html>
    <head>
        <script>
            function send()
            {
                //alert("Hello World");
                $.ajax
                ({
                    type: "post",
                    url: "http://localhost:8000", 
                    dataType: "json",
                    contentType: "application/json; charset=UTF-8",
                    data:  JSON.stringify({name: "Dennis", address: {city: "Dub", country: "IE"}})
                }).done(function ( data ) {alert("ajax callback response:" + data);
            });
        </script>
    </head>
    <body>
        <button onclick="send()">Click Me!</button>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的节点服务器的一部分:用于创建服务器并侦听某些操作

var port = 8000;
var server = http.createServer();
server.on('request', request);
server.listen(port);

function request(request, response) 
{
    var store = '';
    response.writeHead(200, {"Content-Type": "text/json"});
    request.on('data', function(data) 
    {
        store += data;
    });
    request.on('end', …
Run Code Online (Sandbox Code Playgroud)

javascript ajax html5 json node.js

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

在 gitlab runner 中设置节点环境变量

我尝试使用 gitlab runner 来测试和构建我的节点服务器,但在尝试自动化测试时遇到了一个小问题。在我的 package.json 中我有脚本

"scripts": {
    "start": "node app.js",
    "test-init": "node ./node_modules/jasmine/bin/jasmine.js init",
    "test": "set NODE_ENV=Dev&& node ./node_modules/jasmine/bin/jasmine.js"
},
Run Code Online (Sandbox Code Playgroud)

所以NODE_ENV=Dev会加载不同的设置文件。一个使用 mongodb url 的服务器"mongodb://mongo/DBName",当我在本地主机上运行时,npm test服务器崩溃(正如它应该的那样),因为它无法使用开发设置文件连接到 mongo。但是,当我在运行器上运行 GitLab 中的项目时,它不会连接到数据库,因为它使用具有 url 的非开发设置文件。GitLab-ci 中是否有任何原因导致未设置 NODE_ENV?下面是我的 GitLab-ci.yml

image: node:latest

stages:
  - build
  - test

cache:
  paths:
    - node_modules/

services:
  - mongo

install_dependencies:
  stage: build
  script:
    - npm install
  artifacts:
    paths:
      - node_modules/

test_with_lab:
  stage: test
  script: 
    - npm run test-init
    - npm test
Run Code Online (Sandbox Code Playgroud)

mongodb node.js gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
9764
查看次数

mongodb检查是否存在值(node.js)

我使用Node.js和Mongo(mongodb驱动程序)将项目添加到集合中.我有一个html站点,使用socket.io将信息传递给页面.我可以插入数据库但是当我试图查看是否存在值时,我从Mongo得到一个奇怪的回报.我发送一个名字,并尝试将其放入客户端集合中.到目前为止我所拥有的是:

socket.on('DB', function(msg)
    {
        if(msg.Status == "Read")
        {
            MongoClient.connect(url, function(err, db)  //connect to mongo
            {
                var collection = db.collection('Clients');  // get reference to the collection
                collection.find(({Name: msg.Name},{$exists: true}), function(err, doc) //find if a value exists
                {     
                    if(doc) //if it does
                    {
                        console.log(doc); // print out what it sends back
                    }
                    else if(!doc) // if it does not 
                    {
                        console.log("Not in docs");
                    }
                });
              db.close();
            });

            }
}
Run Code Online (Sandbox Code Playgroud)

这让我回报:

{ connection: null,
  server: null,
  disconnectHandler:
   { s: { storedOps: [], storeOptions: …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js

3
推荐指数
1
解决办法
5654
查看次数

Node.js 子进程限制

我知道该节点是一个单线程系统,我想知道一个子进程是使用它自己的线程还是它的父进程。比如说我有一个带有两个线程的 amd E-350 cpu。如果我运行一个节点服务器,它产生了十个连续工作的子实例。它会允许它还是会因为硬件本身不够而失败?

child-process node.js

3
推荐指数
1
解决办法
2089
查看次数