小编Ghj*_*nut的帖子

Mongo索引对象数组与对象

我正在实现一个处理很多字段的联系人数据库.它们中的大多数是预定义的,可以被认为是绑定的,但有一些不是.我们会称其中一个字段为"群组".我们目前实现它的方式是(每个文档/联系人都有'groups'字段):

'groups' : {
   152 : 'hi',
   111 : 'group2'
}
Run Code Online (Sandbox Code Playgroud)

但经过一些阅读后,我觉得我应该这样做:

'groups' : [
   { 'id' : 152, 'name' : 'hi' },
   { 'id' : 111, 'name' : 'group2' }
   ...
]
Run Code Online (Sandbox Code Playgroud)

然后应用索引 db.contact.ensureIndex({'groups.id':1});

我的问题是关于功能.两个结构之间有什么区别?如何实际构建索引(它只是在每个文档/联系人中编制索引,还是构建一个包含所有文档/联系人的所有组的完整索引?).

我有点假设这是结构上最好的方式,但如果我不对,请告诉我.

mongodb mongodb-indexes

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

PyMongo游标迭代

我想在python中创建和处理游标,就像游标本身在mongo中工作一样.我知道预期的方法是执行'result = collection.find()'并执行'for result in result',但我希望将迭代功能包装在一个类中.我希望能够创建一个新的类对象并调用一个函数,例如init_cursor()来建立数据库连接并执行一个返回游标的查找.然后我想有一个get_next()函数,它将移动到下一个结果并根据结果设置类数据成员.这是pesudo代码:

class dataIter():
    def __init__(self):
        self.collection = pymongo.Connection().db.collection
        self.cursor = self.collection.find({}) #return all
        self.age = None
        self.gender = None

    def get_next(self):
        if self.cursor.hasNext():
            data = self.cursor.next()
            self.set_data(data)

    def set_data(self, data):
        self.age = data['age']
        self.gender = data['gender']
Run Code Online (Sandbox Code Playgroud)

这样我就可以简单地调用:

obj.get_next()
age = obj.age
gender = obj.gender
Run Code Online (Sandbox Code Playgroud)

或其他一些帮助功能,以从每个文档中提取数据

python mongodb pymongo

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

如何在php中使用preg来添加html属性

我想在php中编写一个脚本来扫描html文档,并根据它找到的内容向元素添加新标记.更具体地说,我是扫描文档,并且每个元素都搜索CSS标记"float:right/left",如果找到它,它会添加align ="right/left"(基于它找到的内容).例:

<img alt="steve" src="../this/that" style="height: 12px; width: 14px; float: right"/>

<img alt="steve" src="../this/that" align="right" style="height: 12px; width: 14px; float: right"/>

html php

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

标签 统计

mongodb ×2

html ×1

mongodb-indexes ×1

php ×1

pymongo ×1

python ×1