我们正在使用Talend工具将数据从Oracle迁移到Mongo DB,我们需要将对象Id添加到数组中的每个对象。我们尝试使用具有固定值的属性@type作为ObjectId,但没有成功。
我们需要以下输出:
{
“_id”:“12243”,
“name”:“ABCD”,
“城市”:“XYZ”,
“请求”:[
{
“\u id”:ObjectId(“5efdcf15ea9355c419fc9699”),//如何使用Mongo中的talend工具生成此ObjectId
“type”:“部门”,
“价值”:“科学”
},
{
"_id": ObjectId("K279kkqasj8ac023878hjc"), // 如何在Mongo中使用talend工具生成这个ObjectId
“type”:“部门”,
“value”:“商业”
}
]
}
根据您的需要,我假设手动生成ObjectId应该足够了。我将建议使用:
推荐的方法意味着您必须将MongoDB BSONJava库添加到您的Talend项目中,当然是通过将其包含为JAR(参见下面的链接)。我不会解释如何(-
ObjectId id = new ObjectId();
// or
ObjectId id = ObjectId.get();
相关材料:
我想根据文档id和元素id向上插入数组中的元素。当前,只有当数组中的元素已准备就绪时,它才起作用(更新有效,插入无效)。 因此,这些集合: 收到此请求: 将给出此ok结果: 如何使相同的请求适用于这些初始集合: 或 如何使upert工作?upert仅适用于整个文档吗?目前,我面临这个错误: 位置运算符未从查询中找到所需的匹配项。 谢谢
更新:这里的问题是本机MongoDB驱动程序需要与Mongoose不同格式的objectID。我需要做的不是{_id:story_id},而是{_id:new mongoose.types.objectid(story_id)}。它只返回这两个字段的原因是它正在创建一个带有{_id:story_id}的新文档,而不是更新{_id:{$oid:story_id}}的文档。然而,我最初使用本地驱动程序
我在将字符串数组插入mongo DB时遇到问题。在数组的特定大小之后,驱动程序挂起-不会抛出异常(超时或错误)。当我缩短长度时,一切正常。有人能解释这种奇怪的行为吗?很抱歉这个newbee问题,但我找不到一个现有的问题。 Mongo DB版本 非工作文档
本文向大家介绍js中数组插入、删除元素操作的方法,包括了js中数组插入、删除元素操作的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 通过上面的函数,可以处理上移和下移的动作 定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。 注释:该方法会改变原始数组。 语法 参数 描述 index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置
问题内容: 假设我们有两个数组: 现在,我想在每个数组的第三个元素之后插入。我该怎么做? 问题答案: 可以用来提取数组的部分,联合数组运算符()可以重新组合部分。 这个例子: 给出:
问题内容: 必须确定新对象在排序数组中的插入位置。 在纯Swift中,最好的高性能方法是什么? 类似于以下内容: 我想找出正确的位置并插入元素,而不是追加新元素然后对数组进行排序: 问题答案: 这是在Swift中使用二进制搜索的一种可能的实现方式(来自 http://rosettacode.org/wiki/Binary_search#Swift并进行了一些修改): 如同假定数组是相对于比较器排序