我遇到了一个mongo问题。我想知道是否有办法做一个蒙戈控制台命令而不是多个以下find
和update
电话。
{
"_id" : ObjectId("50b429ba0e27b508d854483e"),
"array" : [
{
"id" : "1",
"letter" : "a"
},
{
"id" : "2",
"letter" : "b"
}
],
"tester" : "tom"
}
我想用这个新的数组项更新对象
{
"id": "2",
"letter": "c"
}
我使用了此addToSet
方法,它是有限的,如果它已经存在,它不会将一个项目插入数组,但不会基于标识符更新项目。在这种情况下,我真的很想根据来更新此条目id
。
db.soup.update({
"tester": "tom"
}, {
$addToSet: {
"array": {
"id": "2",
"letter": "c"
}
}
});
这给了我:
{
"_id" : ObjectId("50b429ba0e27b508d854483e"),
"array" : [
{
"id" : "1",
"letter" : "a"
},
{
"id" : "2",
"letter" : "b"
},
{
"id" : "2",
"letter" : "c"
}
],
"tester" : "tom"
}
当我真正想要的是:
{
"_id" : ObjectId("50b429ba0e27b508d854483e"),
"array" : [
{
"id" : "1",
"letter" : "a"
},
{
"id" : "2",
"letter" : "c"
}
],
"tester" : "tom"
}
您可以使用$
位置运算符执行此操作:
db.soup.update(
{_id: ObjectId("50b429ba0e27b508d854483e"), 'array.id': '2'},
{$set: {'array.$.letter': 'c'}})
的$
在更新对象充当的第一个元素的占位符array
到查询选择器相匹配。
我有一系列推车。我想更新请求对象中的产品数量。即。 我有一个数组的产品和数量,比如: 我想更新它们,如: 这可能的逻辑是什么?
本文向大家介绍详解Vue 普通对象数据更新与 file 对象数据更新,包括了详解Vue 普通对象数据更新与 file 对象数据更新的使用技巧和注意事项,需要的朋友参考一下 最近在做一个多图片上传的组件,需求是做到多文件依次上传,并显示上传进度条。 逻辑部分实现了以后,在更新进度条视图的时候出现一点问题:动态计算生产的进度 progress 属性不会自动更新。 原来的代码是这样写的: 这里直接将 f
我需要更新嵌套在我的用户文档中的一个字段,该字段包含一个part对象数组,以添加新的part。一个part对象如下所示: 所以这意味着$addToset对我的情况没有好处...现在我不知道该怎么办。
我有一系列这样的Mongoid 这些是我收藏的文件的mongo-id。 现在,通过获取这些mongoIDs的数组,即['mongoID1','mongoID2','mongoID3'],我需要通过使用其_id来查询这些id指定的每个文档,并在我的代码逻辑中独立处理其数据。为了简单起见,我刚刚“打印”了输出ieres.json(doc.name)。 如果Mongoose/MongoDB中确实存在这样
,该数组是一维数组,第一层节点是parent:# 第二层根据第一层id和 第二层parent进行比较,以此类推
问题内容: 我有一个集合,一个对象(无序) 的ID 属性,一个(有序)列表 的ID 。 ID列表未排序 。我想在我的收藏夹中创建一个对象列表,并根据ID列表进行排序。 我在Guava或Apache Commons中没有看到用于此目的的方法-但这正是我想要的。具有良好实现的库函数。 问题答案: 听起来您的ID列表有自己的顺序;您不仅在使用自然顺序,对吗? 这是番石榴解决方案: 而已。没什么 (公开: