小编sty*_*ane的帖子

使用 Pymongo 更新 MongoDB 中的嵌套文档

以下是我要更新的文档的架构:

{

 "field1" : "value1",
 "field2" : "value2",
 "field3" : {
    "list" : [
        {
            "content" : "valueA",
            "start" : "valueA",
            "group" : "valueA"
        },
        {
            "content" : "valueB",
            "start" : "Needs_Updation",
            "group" : "valueB"
        },
    ]

}
Run Code Online (Sandbox Code Playgroud)

我想更新文档的“Needs_Updation”值。

我尝试过以下操作:

db.collection.update({
    "field1":"value1" , 
    "field3.list" :{"$elemMatch" : {"content" : "valueB","group": "valueB" }}},
    {"$set":{"field3.list.$.start" : "Updated_Value"}}
)
Run Code Online (Sandbox Code Playgroud)

还有一个更简单的查询,例如:

db.collection.update({
    "field1":"value1" ,
    "field3.list.content":"valueB",
    {"$set":{"field3.list.$.start" : "Updated_Value"}}
)
Run Code Online (Sandbox Code Playgroud)

我正在使用 PyMongo,有没有办法更新此类文档?

mongodb pymongo

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

如何在C#中的KeyPress事件中使用KeyValue

在关键的新闻活动中,能使用KeyChar财产以及KeyDown能使用的活动KeyValue.我需要 在事件中使用KeyValueKeyChar属性KeyPress.我该怎么做?

c# keypress

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

尝试输出从服务器返回为json的数据时显示未定义的值

我是Yii2框架和PHP的新手.我使用Mongo DB作为后端数据库.我从集合中获取文档并从控制器返回数据作为Json.返回的数据如下所示.

{
    "55b08c383e1a36233fdbdc06": { 
        "_id": { "$id": "55b08c383e1a36233fdbdc06" }, 
        "address": [ "abcdgt", "zxcv" ], 
        "age": "23", 
        "email": [ "qwert@gmail.com","abcd@mail.com" ], 
        "location": "kollam", 
        "name": "ajiths",
        "phoneno": [ "9522585456", "7875642256" ] ,
        "sex": "male" 
     }
}
Run Code Online (Sandbox Code Playgroud)

但是在尝试提醒result.name时,我收到了"Undefined" 在Javascript代码中.前端的代码如下所示.

function loadClient(id){
         url = "<?=  Yii::getAlias('@serverpathweb')?>/client/showclient?id="+id;
           $.ajax({
          url: url ,
          method: "GET",
           success: function(result){
             alert(result.name);

                 }
             });
    }
Run Code Online (Sandbox Code Playgroud)

控制器端的代码如下所示.

public function actionShowclient($id) {

       $clientdetail = Yii::$app->mongodb->getCollection('client');
       $result = $clientdetail->find(["_id" =>$id]);
       Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
       return $result;
    }
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何获得值result.name.

javascript php json mongodb yii2

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

在mongodb中相乘表示仅对字符串类型进行操作

我试图在mongodb中乘以2个字段。两者均为数字类型,但mongodb返回$multiply only supports numeric types。该集合是:

{
        "_id" : ObjectId("55e07eb54acc499bb3daae6a"),
        "propertytype" : "Hotel",
        "name" : "Rude Lounge2",
        "costing" : {
                "vegperplate" : 350,
                "nonvegperplate" : 450,
                "flatcharge" : 20000
        },
        "capacity" : {
                "min" : 90,
                "max" : 200
        }
}
{
        "_id" : ObjectId("55e07ebe4acc499bb3daae6b"),
        "propertytype" : "Hotel",
        "name" : "Rude Lounge3",
        "costing" : {
                "vegperplate" : 350,
                "nonvegperplate" : 450,
                "flatcharge" : 20000
        },
        "capacity" : {
                "min" : 90,
                "max" : 200
        }
}
Run Code Online (Sandbox Code Playgroud)

我的查询是:

> db.properties2.aggregate( …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query aggregation-framework

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

获取数组 mongodb 中的特定字段并以数组形式返回

我有以下文件:

{
    array: [
        {
            type: 'error',
            data: 1
        },
        {
            type: 'error',
            data: 2
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我是否只能获取每个数组元素中的数据字段并将其作为数组返回?就像下面这样:

[1, 2] // <--- array containing only the data fields
Run Code Online (Sandbox Code Playgroud)

mongodb 投影文档似乎没有涵盖这一点?

mongodb mongodb-query mongoskin aggregation-framework

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

mongodb中的最大值和最小值

我有以下数据库条目:

我的插入查询

 db.collection.insert({company:"C3",model:"M3",price:55600,discount:9,resolution:"100X700",connectivity:"hdmi2",warranty:"3",image:"image2.jpg",size:50,display:"lcd",brand:"Brand4",functionality:"functionality2"});
Run Code Online (Sandbox Code Playgroud)

有超过2000个条目,我试图找出整个集合中的最大和最小价格,如下所示:

db.collection.find({max:{$max:"$price"}, min:{$min:"$price"}});
Run Code Online (Sandbox Code Playgroud)

希望输出为{max:2000,min:5000},请帮助.谢谢

mongodb mongodb-query aggregation-framework

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

使用正则表达式在MongoDB中获取物化路径中的直接后代

在MongoDB集合中,我有物化路径树模型,如:

",Books,Programming,Databases,NoSQL,"
",Books,Programming,Databases,SQL,"
Run Code Online (Sandbox Code Playgroud)

用于获取所有使用的后代Programming:

db.categories.find( { path: /,Programming,/ } )
Run Code Online (Sandbox Code Playgroud)

创建请求的任何可用性是否只能找到直接后代Programming?即会找到记录,Databases但不会NoSQLSQL.

regex mongodb mongodb-query

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

如何对 MongoDB 集合中的对象进行分组

我有这样的文档集

{ "owner": "550511223", "file_name": "55234OT01", "file_type": "other", "comment": "Just fix it"},
{ "owner": "550510584", "file_name": "55584RS01", "file_type": "resume", "comment": "Good enough"},
{ "owner": "550511223", "file_name": "55234AP01", "file_type": "applicant", "comment": "This will do"}
Run Code Online (Sandbox Code Playgroud)

我需要一个像这样的对象的结果

{
 [{
  "owner" : "550510584",
  "files" : [{"file_name": "55584RS01","file_type": "resume","comment": "Good enough"}],
 },{
  "owner" : "550511234",
  "files" : [{"file_name": "55234AP01","file_type": "applicant","comment": "This will do"},
             {"file_name": "55234OT01","file_type": "other","comment": "Just fix it"}]
 }]
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来做到这一点。我尝试过分组和聚合,但我只能将 file_name 字段推入,因为我搞乱了语法

mongodb mongodb-query aggregation-framework

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

Django - 类中属性的上下文字典

我想在我的Django应用程序中显示一个特定类的属性列表.例如,显示博客文章的所有标题:

Models.py

class BlogPost(models.Model):
    title = models.CharField(max_length=128)
    message = models.CharField(max_length=30)

    def __unicode__(self):
            return self.title
Run Code Online (Sandbox Code Playgroud)

然后在我的上下文字典中我收到错误:

类型对象'BlogPost'没有属性'title'

Views.py

def index(request):
    context = RequestContext(request)
    blog_list = BlogPost.title # I understand here is the issue. 
    context_dict = {'blog': blog_list}
    return render_to_response('rango/blog.html', context_dict, context)
Run Code Online (Sandbox Code Playgroud)

python django dictionary django-queryset

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

抽象Django类中的多个外键字段

我有一个抽象基类,该基类向用户模型声明了两个外键字段:

class BaseModel(models.Model):
    updated = models.DateTimeField(null=True)
    updated_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, related_name="updated_by")
    created = models.DateTimeField(null=True)
    created_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, related_name="created_by")

    class Meta:
        abstract=True
Run Code Online (Sandbox Code Playgroud)

我有多个从此类继承的类。当我跑makemigrations,我收到以下错误为每个可能的类对和两个created_byupdated_by

myapp.ClassA.updated_by :(字段E305)“ ClassB.updated_by”的反向查询名称与“ ClassB.updated_by”的反向查询名称发生冲突。

提示:在“ ClassA.updated_by”或“ ClassB.updated_by”的定义中添加或更改related_name参数。

即使我已经设置了related_name。它仅适用于声明的两个外键字段之一。

在一个抽象类中是否可能有两个相同的模型的外键字段,如果是的话,如何设置它?

python django django-models

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