小编Kel*_*b56的帖子

将 MongoDB 文档转换为 C# 对象列表

我正在尝试编写一个方法,它将所有 Book 文档从 MongoDB 返回到我的 mvc 应用程序。首先,我连接到数据库,检索集合并将该集合转换为 Json 文件。接下来,我使用序列化程序创建了一个列表,其中指定了几个字段(姓名、作者等),我尝试将其反序列化为列表,并使用 for 循环返回书籍列表。可悲的是,我在返回行中出错(转换错误)。欢迎任何建议!

public List<Book> getAllBooks() 
    {
        var mongoClient = new MongoClient("mongodb://localhost");
        var database = mongoClient.GetDatabase("SearchForKnowledge");
        var coll = database.GetCollection<BsonDocument>("Book");
        coll.ToJson();

        List<Book> collection = new List<Book>();

        JavaScriptSerializer js = new JavaScriptSerializer();
        collection = (List<Book>)Newtonsoft.Json.JsonConvert.DeserializeObject(coll.ToString());

        for (int i = 0; i < collection.Count(); i++) 
        {
            return collection[i];
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc mongodb

4
推荐指数
1
解决办法
8610
查看次数

Jquery fadeIn()不起作用

描述:我正在fadeIn()使用jquery 尝试我的容器,但它不起作用.我对它有点新意,只是从codeacademy jquery课程中脱颖而出.

问题:我在myScript.js文件中编写的方法似乎不起作用.与其他示例相比,语法看起来还可以.我把我的js文件链接到html文件,如下所示:

<script type="text/javascript" src="/Content/js/myScript.js"></script>
Run Code Online (Sandbox Code Playgroud)

这是我的index.cshtml文件,我在其中为某些导航创建了一个容器:

 <div class="container" id="fade">
        //some other buttons, divs, etc
 </div>
Run Code Online (Sandbox Code Playgroud)

这是我包含的自定义js文件:

$(document).ready(function () {
    $('#fade').fadeIn('slow');
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery fadein

4
推荐指数
1
解决办法
860
查看次数

时区和日期转换问题

我有一个简单的系统,在节点创建表单上,允许用户选择开始和结束日期以及小时和分钟:

问题是日期在中间的某个地方被搞乱了,或者我不知道如何转换它。

在数据库中,保存两个值,如下所示:

start: "2019-08-01T14:00:00.000Z"
end: "2019-08-01T16:00:00.000Z"
Run Code Online (Sandbox Code Playgroud)

似乎是正确的,因为在日期选择器中我选择了下午 2 点和下午 4 点。然后,使用momentjsreact-big-calendar,我尝试将该事件放入日历中。好像每次都会+3小时。我想,这是因为它以 UTC 格式保存,而我住在东欧,距 UTC 时间+3 小时。

在此输入图像描述

奇怪的是,当我向数据库发出请求时,我已经将时间转换为我自己的时间:

在此输入图像描述

Thu Aug 01 2019 17:00:00 GMT+0300 (Eastern European Summer Time)
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?我希望在保存时返回并显示相同的时间,这意味着如果我选择下午 2 点,则应该是下午 2 点。我认为这里的解决方案是忽略时区,并始终以 UTC 显示所有内容?但如何做到这一点呢?momentjs如果有帮助的话我可以访问。我尝试过这样的事情:

moment.utc(event.start);
Run Code Online (Sandbox Code Playgroud)

但它仍然返回相同的值,即:

Thu Aug 01 2019 17:00:00 GMT+0300 (Eastern European Summer Time)
Run Code Online (Sandbox Code Playgroud)

utc momentjs react-big-calendar

4
推荐指数
1
解决办法
3948
查看次数

从节点js调用存储过程

我正在使用 Express,并尝试从 Azure 门户调用 LoginMember 存储过程。这是我的表格,取自 ejs:

\n\n
<form method="post" action="/available-copies">\n      <input type="text" placeholder="SSN" name="userssn">\n      <input type="password" placeholder="Password" name="userpassword">\n      <input type="submit" value="Login">\n</form>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的帖子请求

\n\n
router.post(\'/available-copies\', function (req, res) {\n    var ssn = req.body.userssn;\n    var password = req.body.userpassword;\n\n    sql.connect(sqlConfig, function (err) {\n        if (err) console.log(err);\n        // create Request object\n        var request = new sql.Request();\n        // query to the database and execute procedure\n        request.query("exec LoginMember @SSN=\'"+ssn+"\', @PASSWORD=\'"+password+"\';", function (err, recordset) {\n            if (err) console.log(err);\n\n            res.send(recordset);\n        });\n    });\n    sql.close()\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

SqlConfig 来自另一个文件,这部分没问题。以防万一,这是我的存储过程创建代码: …

sql-server stored-procedures ejs node.js express

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