小编Mik*_* B.的帖子

如何使用Java在MongoDB中执行批量更新文档

我正在使用MongoDB 3.2和MongoDB Java Driver 3.2.我有一个包含数百个更新文档的数组,现在应该保存/存储在MongoDB中.为了做到这一点,我迭代数组并调用此数组中的每个文档的updateOne()方法.

现在,我想通过批量更新重新实现此逻辑.我试图在MongoDB 3.2中使用MongoDB Java Driver 3.2找到批量更新的示例.

我试过这段代码:

MongoClient mongo = new MongoClient("localhost", 27017);
DB db = (DB) mongo.getDB("test1");
DBCollection collection = db.getCollection("collection");
BulkWriteOperation builder = collection.initializeUnorderedBulkOperation();
builder.find(new BasicDBObject("_id", 1001)).upsert()
    .replaceOne(new BasicDBObject("_id", 1001).append("author", "newName"));

builder.execute();
Run Code Online (Sandbox Code Playgroud)

但似乎这种方法基于过时的MongoDB Java驱动程序,例如2.4并使用不推荐的方法.

我的问题:
如何使用MongoDB Java Driver 3.2在MongoDB 3.2中执行批量更新文档?

java bulkinsert crud mongodb mongodb-query

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

将类名作为参数传递

我有3类调用RedAlert,YellowAlertBlueAlert.

在我的课堂上,AlertController我希望有一个像这样的方法:

public void SetAlert(//TAKE IN NAME OF CLASS HERE//)
{
    CLASSNAME anInstance = new CLASSNAME();
}
Run Code Online (Sandbox Code Playgroud)

所以例如我想:

AlertController aController = new AlertController();
SetAlert(RedAlert);
Run Code Online (Sandbox Code Playgroud)

如何将类名作为参数,并根据该类名从类名创建适当的对象?

java

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

我应该在Java 8中使用哪个日期类?

Java 8中有一整套日期类:

我已经传递了他们的JavaDocs并注意到所有这些类都包含我需要的所有方法.因此,目前,我可以随机选择它们.但我想有一些理由说明为什么有6个单独的类,每个类都专门用于特定目的.

技术信息和要求:

  1. 输入为in String,转换为这些日期格式之一.
  2. 我不需要显示时区,但是当我比较两个日期时,能够正确比较纽约和巴黎的时间非常重要.
  3. 精确级别是秒,不需要使用毫秒.
  4. 所需的操作:
    • 找到最大/最小日期;
    • 按日期排序对象;
    • 计算日期和时间段(两个日期之间的差异);
    • 将对象插入MongoDB并按日期从数据库中检索它们(例如,特定日期之后的所有对象).

我的问题:

  1. 我应该记住哪些方面,以便从性能和可维护性的角度选择这四个选项中的最佳格式?
  2. 有什么理由我应该避免这些日期类别吗?

java datetime timestamp date java-8

14
推荐指数
1
解决办法
3799
查看次数

JSDoc + IDE 与 TypeScript

通过正确维护的 JSDoc,几乎任何现代 IDE 都可以识别类型不匹配(赋值、函数签名/参数)以及非强类型语言引入的许多其他问题。除此之外,现代 JS 还具有可预测的变量范围、免提升行为、模块化、内置类支持等等。

在什么场景下,TypeScript 比 JS+JSDoc 更能满足开发者的需求?

javascript ide jsdoc typescript

14
推荐指数
1
解决办法
5890
查看次数

实体框架vs Linq to Entities vs Linq to SQL

我阅读了很多关于如何在WPF .Net 4应用程序中使用数据库的文章.据我了解,主要的两项技术是:

  • Linq to SQL(L2S)
  • 实体框架(EF)

但有时我也可以看到Linq to Entities(L2E)技术的提及,但无法找到明确解释EF和L2E之间的区别.

所以,我的问题是:实体框架和Linq to Entities技术之间有什么区别吗?或者这是一种技术的同义词?

ado.net linq-to-entities entity-framework linq-to-sql

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

HTTPServletRequest getParameterMap()vs getParameterNames

HTTPServletRequestreq,有一个方法,getParameterMap()但是,对于post数据,值返回a String[]而不是String

名称=结婚&lastName的=约翰&年龄= 20.

我在post数据中看到它不是一个数组,但是getParameterMap()为每个键(name或lastName或Age)返回数组.有没有更好地理解这一点的指示?

方法2中提供了代码.方法1完全正常.

方法1:

Enumeration<String> parameterNames = req.getParameterNames();

while (parameterNames.hasMoreElements()) {
    String key = (String) parameterNames.nextElement();
    String val = req.getParameter(key);
    System.out.println("A= <" + key + "> Value<" + val + ">");
}
Run Code Online (Sandbox Code Playgroud)

方法2:

Map<String, Object> allMap = req.getParameterMap();

for (String key : allMap.keySet()) {
    String[] strArr = (String[]) allMap.get(key);
    for (String val : strArr) {
        System.out.println("Str Array= " + val);
    }
}
Run Code Online (Sandbox Code Playgroud)

servlets http-request-parameters

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

每次查看页面时如何执行代码

我每次查看页面时都会搜索模式以执行代码(在我的情况下,检索数据以便从服务器可视化)(每个tipe页面都由splitApp.toDetail或splitApp.backDetail调用).我该怎么做??onBeforeRendering和onAfterRendering仅在第一次执行..

sapui5

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

11
推荐指数
2
解决办法
7282
查看次数

流上的 .pipe 和管道有什么区别

我在 node.js 中找到了两种不同的管道流方法

.pipe()流的众所周知的方法

https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options

和流的独立功能

https://nodejs.org/api/stream.html#stream_stream_pipeline_streams_callback

我应该使用哪一个,这两者之间有什么好处?

stream node.js

11
推荐指数
2
解决办法
3712
查看次数

Javascript函数声明.冒号在函数声明中

javascript中的函数声明"function test()"和"test:function()"有什么区别?

function test() {
    …
}
Run Code Online (Sandbox Code Playgroud)

VS

test: function() {
    …
}
Run Code Online (Sandbox Code Playgroud)


var functionName = function(){} vs function functionName(){}问题函数被声明为:

function test() {
    …
}
Run Code Online (Sandbox Code Playgroud)

var test = function() {
    …
};
Run Code Online (Sandbox Code Playgroud)

从语法角度来看,我的问题中的函数看起来并不相同.

javascript

10
推荐指数
2
解决办法
4029
查看次数