据说使用skip()在具有许多记录的MongoDB集合中进行分页很慢,不推荐使用.
可以使用远程分页(基于> _id比较)
db.items.find({_id: {$gt: ObjectId('4f4a3ba2751e88780b000000')}});
Run Code Online (Sandbox Code Playgroud)
它很适合显示上一页.&下一个按钮 - 但是当你想要显示实际页码1 ... 5 6 7 ... 124时,它实现起来并不容易 - 你需要预先计算每页开始的"_id".
所以我有两个问题:
1)我应该什么时候开始担心?什么"记录太多"而跳过()的速度明显减慢?1 000?1 000 000?
2)使用远程分页时,显示与实际页码的链接的最佳方法是什么?
我有一个侧栏菜单,使用SWRevealViewController制作.
侧边栏中的一个菜单元素是"登录".它打开登录视图(通过自定义SWRevealViewController segue).
我想在用户成功登录后以编程方式切换到另一个视图.我该怎么做?
更新,我的代码:
ViewController *vc = [[ViewController alloc] init]; // this is main front ViewController
SWRevealViewController *revealController = self.revealViewController;
[revealController setFrontViewController:vc animated:YES];
Run Code Online (Sandbox Code Playgroud)
在此之后,我得到空屏幕.我究竟做错了什么?我觉得这是错的:
ViewController *vc = [[ViewController alloc] init];
Run Code Online (Sandbox Code Playgroud)
那么访问已加载的视图控制器的正确方法是什么?(它在应用程序启动时加载SWRevealViewController作为前端控制器)
我重写了我的网站php-code并添加了MySQL存储过程.
在我的本地版本一切正常,但在我将我的网站上传到托管服务器后,我一直在致命的错误'准备好的声明需要重新准备'.
有时页面加载,有时加载失败,我看到这个错误.那是什么?
更新: 移动到VPS服务器后问题已经消失.感谢帮助.
我有一个照片库.我想添加"添加到收藏夹"按钮 - 因此用户可以将其他用户添加到他/她的收藏夹中.然后我希望每个用户都能够观看他喜欢的用户列表,以及能够看到谁(用户列表)将此用户添加到收藏夹.
我找到了两种方法,第一种是:
faver_id faved_id
1 10
1 31
1 24
10 1
10 24
Run Code Online (Sandbox Code Playgroud)
我不喜欢这种方法,因为1)未来有很多重复的2)非常大的表(如果有至少1001个用户,每个人喜欢其他1000个用户= 1 001 000条记录),我认为这会减慢我的基础.
第二种方式是:
user_id favs
1 1 23 34 56 87 23
10 45 32 67 54 34 88 101
Run Code Online (Sandbox Code Playgroud)
如果用户喜欢MySQL查询的其他用户,我可以使用这些收藏并在php中爆炸()或搜索它们 select count(user_id) from users where favs LIKE '% 23 %' and user_id=10;
但我觉得第二种方式在MySQL术语中并不是非常"正确".
你能给我一些建议吗?
我在Debian Lenny x64上安装了MongoDB的PHP 5.2,一切都很好.
将PHP更新到5.3(dotdeb)之后我无法使MongoDB工作,我总是收到错误
Fatal error: Class 'Mongo' not found (...)
Run Code Online (Sandbox Code Playgroud)
其他一切正常,所有默认模块都正常工作.
我的php.ini:
extension_dir = "/usr/lib/php5/20090626"
extension=mongo.so
Run Code Online (Sandbox Code Playgroud)
Mongo.so与上面所写的位置相同.但是当我php -m在控制台中运行以检查加载的模块时,那里没有列出"mongo".
我不能dl('mongo.so')在运行时使用加载模块,因为在PHP 5.3中不推荐使用此函数.
可能是我应该以某种方式重新编译mongo,我只是不知道该怎么做,因为我在*nix命令中不是很好.
谢谢你的帮助!
更新
也可能是值得一提的是,在我的mongo.so进入之前我/usr/lib/php5/20060613手动将其复制到,"/usr/lib/php5/20090626"因为看起来在更新我的PHP之后所有模块都位于那里.
我有一个表格布局(带有房地产过滤参数的表格)。当用户从Spinner列表(公寓、房屋、土地等)中选择不动产类型时,我需要隐藏/显示带有过滤参数的行。是否可以?TableLayout 对此有好处还是使用 LinearLayout 会更好?什么时候使用 TableLayout 优于 LinearLayout?我有一个简单的水平表格,看起来像这样:
-------------------------
field name: [input field]
-------------------------
field name: [input field]
-------------------------
Run Code Online (Sandbox Code Playgroud)
我已经发现我可以删除/添加行:
tableLayout.addView(row);
tableLayout.removeView(row);
Run Code Online (Sandbox Code Playgroud)
这是唯一的方法吗?我可以只隐藏/显示行而不删除它们吗?
我正在编写一个页面,其中包含演示如何使用我的 js 库的示例。我希望这些示例是可编辑和可运行的,所以我想我有这些选项:
使用prettify在教程页面上显示代码,有一个按钮可以打开一个带有编辑器的新窗口,您可以在其中运行代码(当前实现的解决方案)。或者,我可以使编辑器成为某种模式对话框。
为页面上的每个示例使用多个 CodeMirror 编辑器(单个页面上最多可以有 30 个)。我不确定这些编辑器有多“重”,所以我不确定这是否是个好主意。
有一个编辑按钮,在需要编辑时用 CodeMirror 编辑器“交换”漂亮的代码,这样用户就可以编辑和运行示例而无需打扰新窗口。我不确定是否可以使美化和 CodeMIrror 的语法突出显示看起来相同。
关于我应该如何做以及为什么这样做的任何想法?我也乐于接受有关不同代码编辑器或语法高亮器的建议,所以如果有人对此类事情有经验,请告诉我您是如何做到的。
我正在尝试在单击按钮时更改选项卡视图.我有这个代码:
- (IBAction)startScratch:(id)sender {
_mainTabBar.tabBarController.selectedIndex = 1;
//Error: ^ Property tabBarController not found on type "NSTabView*"
}
Run Code Online (Sandbox Code Playgroud)
.h文件包含以下代码行:
@property (weak) IBOutlet NSTabView *mainTabBar;
- (IBAction)startScratch:(id)sender;
Run Code Online (Sandbox Code Playgroud)
我假设我应该用某些东西替换_mainTabBar,但如果是的话,那是什么?
我需要使用RestKit获取多个根对象.服务器的JSON如下所示:
{
"articles" : [{...}, {...}, {...}, {...}, {...}],
"counters_for_pagination": {"page": 1, "total": 250, "per_page": 5}
}
Run Code Online (Sandbox Code Playgroud)
我是否必须创建中间类PaginatedResults,它将保存NSArray类型的对象Article和NSDictionary计数器?
我想得到:
Article我将在一个对象中显示的一系列对象UITableViewNSDictionary柜台 - 用于分页.RestKit能够返回NSDictionary2个不同的对象作为a *result还是总是返回一个数组?
我在一个Controller中有2个UITableViews.每个表都有自己的单元原型,其中包含UITableViewCell的不同子类:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(tableView == self.commentsTable){
CommentCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CommentCell"];
cell.message.text = @"test";
}else if(tableView == self.paramsTableView){
RealtyParamCell *cell = [tableView dequeueReusableCellWithIdentifier:@"RealtyParamCell"];
cell.label.text = @"test2";
}
return cell;
}
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我在最后一行收到错误return cell;:"使用未定义的标识符单元格"但我无法cell在开头定义:
UItableViewCell *cell;
if(tableView == self.commentsTable){
<...>
}
Run Code Online (Sandbox Code Playgroud)
因为我需要精确的细胞类 - CommentCell或者RealtyParamCell
简短代码的简单示例:
function s_print( $atts ){
return 'http://abc.com/?foo=1&bar=2';
}
add_shortcode( 'my_shortcode', 's_print' );
Run Code Online (Sandbox Code Playgroud)
它返回:
http://abc.com/?foo=1&bar=2
Run Code Online (Sandbox Code Playgroud)
此函数通过短代码插入到页面正文的链接[my_shortcode],但&总是更改为&,这会破坏链接(它不再起作用).我google了很多.有一些解决方案:
wp_specialchars_decode($foo);
remove_filter('the_content','wptexturize');
Run Code Online (Sandbox Code Playgroud)
但这些似乎仅用于主题(functions.php),它不适用于短代码(我尝试在短代码函数之前或之内添加它).
我不想落到最后的解决方案,这是在WordPress formatting.php文件中评论一些行,因为我正在开发一个将被许多人使用的插件.
ios ×3
mongodb ×2
mysql ×2
objective-c ×2
php ×2
android ×1
cocoa ×1
codemirror ×1
javascript ×1
pagination ×1
performance ×1
prettify ×1
restkit ×1
shortcode ×1
tablelayout ×1
tablerow ×1
tabs ×1
uitableview ×1
wordpress ×1