问题列表 - 第37895页

使用MongoDB的类似Twitter的应用程序

我正在制作一个使用经典"跟随"机制的应用程序(Twitter和网络上的许多其他应用程序使用的机制).我正在使用MongoDB.不过,我的系统有所不同:用户可以关注用户.这意味着,如果您关注某个群组,您将自动关注该群组成员的所有用户.当然,用户可以属于多个组.

这就是我想出的:

  • 用户A跟随用户B时,用户B的 id被添加到following用户A文档中的嵌入式阵列(被叫)中
  • 为了取消关注,我从following数组中删除了后续用户的id
  • 组以相同的方式工作:当用户A跟随组X时,组X的 id被添加到following数组中.(我实际上添加了一个,DBRef所以我知道连接是针对用户还是组.)

  • 当我必须检查用户A是否跟随组X时,我只是在用户A的后续数组中搜索组的ID .

  • 当我必须检查用户A是否跟随用户B时,事情变得有点棘手.每个用户的文档都有一个嵌入式数组,列出了用户所属的所有组.所以我使用一个$or条件来检查用户A是直接跟踪用户B还是通过组跟踪.像这样:

    db.users.find({'$or':{'following.ref.$id':$user_id,'following.ref.$ref','users'},{'following.ref.$id':{'$in':$group_ids},'following.ref.$ref':'groups'}}})

这很好,但我想我有一些问题.例如,如何显示特定用户的关注者列表,包括分页?我不能在嵌入文档上使用skip()和limit().

我可以改变设计并使用一个userfollow集合,它可以完成嵌入式following文档的相同工作.我尝试过这种方法的问题是,根据$or我之前使用的条件,跟随两个包含相同用户的组的用户将被列出两次.为了避免这种情况,我可以使用group或MapReduce,我实际上做了它并且它可以工作,但我希望避免这样做以保持简单.也许我只需要开箱即用.或者也许我在两次尝试时采取了错误的方法.任何人都必须做类似的事情并提出更好的解决方案?

(这实际上是对我这个老问题的后续跟进.我决定发布一个新问题来更好地解释我的新情况;我希望这不是问题.)

database-design software-design mongodb

13
推荐指数
1
解决办法
4432
查看次数

返回对象名称为MVC的Json Result

当控制器返回json结果时,对象名称似乎丢失了,我通常不介意,但flexbox jquery插件需要特定格式的json结果.

Flexcombobox预期的格式

{"results":[  
     {"id":"1","name":"Ant"},  
     {"id":"2","name":"Bear"},  
     {"id":"3","name":"Cat"},  
     {"id":"4","name":"Dog"},  
     {"id":"5","name":"Elephant"},  
     {"id":"6","name":"Fox"},  
     {"id":"7","name":"Guinea Pig"},  
     {"id":"8","name":"Horse"},  
     {"id":"9","name":"Iguana"},  
     {"id":"10","name":"Jaguar"}  
 ]} 
Run Code Online (Sandbox Code Playgroud)

Public Class FlexboxResult

    Private _id As String
    Public Property Id() As String
        Get
            Return _id
        End Get
        Set(ByVal value As String)
            _id = value
        End Set
    End Property

    Private _name As String
    Public Property Name() As String
        Get
            Return _name
        End Get
        Set(ByVal value As String)
            _name = value
        End Set
    End Property

End Class
Run Code Online (Sandbox Code Playgroud)

控制器代码

Function PartYearsList() As JsonResult
            Dim yearSelectList As …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net-mvc json

4
推荐指数
1
解决办法
8599
查看次数

servlet容器是否应为每个传入请求创建新的javax.servlet.http.HttpServlet实例?

我上课了 public class GAE_SERVLETREQUESTServlet extends HttpServlet {

不确定规范关于HTTPServlet的回收的说法:servlet容器是否应该在每个传入请求上创建此类的新实例,或者实现可以在请求之间重用类?

我正在调查一个有趣的问题,似乎在GAE_SERVLETREQUESTServlet实例上创建的Map维护请求之间的状态.

java servlets

5
推荐指数
1
解决办法
2707
查看次数

在init中调用dealloc?

我正在编写一个框架,我有一个自定义init方法的对象:

@implementation OSDatabase
@synthesize database;

// MEM
- (void)dealloc {
  sqlite3_close(database);

  [super dealloc];
}

// INIT
- (id)initWithDatabasePath:(NSString *)path error:(NSError **)error {
  if (self = [super init]) {
    if (!sqlite3_open_v2([path UTF8String], &database, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL)) {
      error = [NSError errorWithDomain:@"OSDatabaseErrorDomain" code:1 userInfo:nil];
      [self dealloc];
      return nil;
    }
  }

  return self;
}

@end
Run Code Online (Sandbox Code Playgroud)

如果出现错误dealloc,在init方法内部调用是否安全?我不确定这一点,记忆管理是我生命中最重要的事情之一.

谢谢.

objective-c init dealloc nsobject

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

ASP.NET MVC UpdateModel抛出异常:"模型无法更新"

我试图在MVC中更新一个简单的模型,但它不起作用,它抛出一个异常,说模型无法更新:

      [HttpPost]
        public ActionResult SignIn([Bind(Exclude="TxtEmail")]Usuarios usuario,FormCollection fc)
        {
            try
            {
                UsuariosModel userModel = new UsuariosModel(usuario);
                userModel.Usuarios.TxtEmail = "test@test.com";

                UpdateModel(userModel);

                if (ModelState.IsValid)
                {
                 [...]
                }
                [...]
        }
Run Code Online (Sandbox Code Playgroud)

这是模型:

[Required(ErrorMessage="**O email é requerido")]
[RegularExpression("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$",ErrorMessage="**Email Inválido")]
public string TxtEmail
{
    get { return this.txt_email; }
    set { this.txt_email = value; }
}
Run Code Online (Sandbox Code Playgroud)

我如何使用此方法"UpdateModel"?

asp.net-mvc

13
推荐指数
2
解决办法
6858
查看次数

检查ocaml中的记录大小?

有没有办法检查Ocaml中的记录大小?像sizeofC/C++ 这样的东西?

ocaml

5
推荐指数
1
解决办法
308
查看次数

如何找到目标c中HH:MM:SS格式的两个日期之间的差异?

我认为标题本身就说我想做什么?

斯蒂尔,让我澄清一下.我现在正在开发一个应用程序,我有两个日期格式如下:

"YYYY:MM:DD HH:MM:SS"

使用我需要以格式计算两个日期之间的差异:

HH:MM:SS

我在维基搜索过,也试过我的运气但是徒劳无功.有人可以帮帮我吗?

提前致谢.

objective-c

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

PHP:HTTP还是HTTPS?

如何判断是否通过http或https访问了php页面?

php

43
推荐指数
3
解决办法
10万
查看次数

TSql,在数据输入之前或之后构建索引

关于索引大量数据的性能问题.我有一个大表(约3000万行),其中4列被索引以便快速搜索.目前我设置了索引(索引?),然后导入我的数据.这大约需要4个小时,具体取决于数据库服务器的速度.首先导入数据然后执行索引构建会更快/更有效吗?

t-sql performance sql-server-2008

8
推荐指数
1
解决办法
2578
查看次数

Python相当于C#的using语句

可能重复:
IronPython中C#"using"块的等价物是什么?

我正在使用一些一次性.NET对象编写一些IronPython,并想知道是否有一种很好的"pythonic"方式.目前我有一堆finally语句(我想在每个语句中都应该检查None)或者如果构造函数失败,变量是否甚至不存在?)

def Save(self):
    filename = "record.txt"
    data = "{0}:{1}".format(self.Level,self.Name)
    isf = IsolatedStorageFile.GetUserStoreForApplication()
    try:                
        isfs = IsolatedStorageFileStream(filename, FileMode.Create, isf)
        try:
            sw = StreamWriter(isfs)
            try:
                sw.Write(data)
            finally:
                sw.Dispose()
        finally:
            isfs.Dispose()
    finally:
        isf.Dispose()
Run Code Online (Sandbox Code Playgroud)

python ironpython using

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