相关疑难解决方法(0)

如何从JavaScript对象中删除密钥?

假设我们有一个这种格式的对象:

var thisIsObject= {
   'Cow' : 'Moo',
   'Cat' : 'Meow',
   'Dog' : 'Bark'
};
Run Code Online (Sandbox Code Playgroud)

我想做一个按键删除的功能:

removeFromObjectByKey('Cow');
Run Code Online (Sandbox Code Playgroud)

javascript

1171
推荐指数
3
解决办法
86万
查看次数

如何在mongodb中更新多个数组元素

我有一个Mongo文档,其中包含一系列元素.

我想重置.handled数组中所有对象的属性.profile= XX.

该文件采用以下形式:

{
    "_id": ObjectId("4d2d8deff4e6c1d71fc29a07"),
    "user_id": "714638ba-2e08-2168-2b99-00002f3d43c0",
    "events": [{
            "handled": 1,
            "profile": 10,
            "data": "....."
        } {
            "handled": 1,
            "profile": 10,
            "data": "....."
        } {
            "handled": 1,
            "profile": 20,
            "data": "....."
        }
        ...
    ]
}
Run Code Online (Sandbox Code Playgroud)

所以,我尝试了以下内容:

.update({"events.profile":10},{$set:{"events.$.handled":0}},false,true)
Run Code Online (Sandbox Code Playgroud)

但是,它仅更新每个文档中第一个匹配的数组元素.(这是$的定义行为- 位置运算符.)

如何更新所有匹配的数组元素?

arrays mongodb mongodb-query

171
推荐指数
9
解决办法
10万
查看次数

MongoDB - 从单个数组元素中取消设置属性

如何从Mongo控制台的单个数组元素中取消设置属性.例如,如何从时间[1]中取消设置垃圾属性

{
  "_id" : ObjectId("4d525ab2924f0000000022ad"), 
  "name" : "hello", 
  "time" : [
      {
          "stamp" : "2010-07-01T12:01:03.75+02:00",
          "reason" : "new"
      },
      {
          "stamp" : "2010-07-02T16:03:48.187+03:00",
          "reason" : "update",
          "junk"  : "yes"
      },
      {
          "stamp" : "2010-07-02T16:03:48.187+04:00",
          "reason" : "update"
      },

   ]
}
Run Code Online (Sandbox Code Playgroud)

mongodb

6
推荐指数
1
解决办法
4157
查看次数

MongoDB:从数组字段中的所有子文档中删除字段

我有以下格式的数千份文件:

{
"_id" : ObjectId("51e98d196b01c2085c72d731"),
"messages" : [
    {
        "_id" : ObjectId("520167056b01c20bb9eee987"),
        "id" : ObjectId("520167056b01c20bb9eee987"),

    },
    {
        "_id" : ObjectId("520167056b01c20bb9eee988"),
        "id" : ObjectId("520167056b01c20bb9eee988"),

    },
    {
        "_id" : ObjectId("520167056b01c20bb9eee989"),
        "id" : ObjectId("520167056b01c20bb9eee989"),
    }
],
}
Run Code Online (Sandbox Code Playgroud)

我需要删除重复的"id"字段.这是我尝试过的:

db.forum_threads.update({}, {$unset: {"messages.$.id": 1}}, {multi: true});
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Cannot apply the positional operator without a corresponding query field containing an array.
Run Code Online (Sandbox Code Playgroud)

mongodb pymongo mongoengine

6
推荐指数
2
解决办法
7908
查看次数

如何使用此条件更新MongoDB中的~2,000条记录

我有一个MongoDB文档,如下所示:

"sport": "NFL",
"team_id": 5,
"week_num": 6,
"meta": {
   .... more data ....,
   "season_year": 2013
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是将season_yearkey/val 复制到"顶级"文档,同时将其嵌入到meta散列中.所以它会重复,最终结果如下:

"sport": "NFL",
"team_id": 5,
"week_num": 6,
"season_year": 2013,
"meta": {
   .... more data ....,
   "season_year": 2013
}
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来更新我的集合中的所有文档与上述逻辑?我在用MongoDB shell version: 2.4.3

javascript mongodb

0
推荐指数
1
解决办法
2509
查看次数