小编Jac*_*cob的帖子

如何在MongoDB中使用范围查询进行分页?

我可能会遗漏一些东西,因为我还在学习MongoDB的细节,但我需要帮助分页集合.

我有一个有名单的集合.

底部牛肉
鸡胸肉6oz鸡胸肉
8oz
鸡胸肉8oz
鸡胸肉8oz
鸡胸肉随机
鸡腿
鸡里脊
肉鸡大腿
犹太盐

我在"ProductName,_id"上创建了一个复合索引.

我运行这个查询:

db.ProductGuideItem.find( { ProductName: { $gt: "Chicken Breast 8oz" } } ).sort({ProductName:1,_id:1}).limit(3); 
Run Code Online (Sandbox Code Playgroud)

请注意,有3个"鸡胸肉8oz"项目.

如果我运行该查询,我得到...
鸡胸肉随机
鸡腿
鸡里脊肉

如果我正在分页并从顶部开始.该查询将错过其他2"鸡胸肉8oz".

因此,如果每个页面只能有3个项目,我想看到第2页,那么我应该看到..
鸡胸肉8oz
鸡胸肉8oz
鸡胸肉随机.

但我不是.这将是最后一个鸡胸肉8盎司,并从那里开始.

有没有解决的办法?
如果列表以相反的方式排序,我该怎么做呢?

pagination mongodb

19
推荐指数
3
解决办法
4万
查看次数

为什么在测试中没有将查询添加到Django的db.connection.queries?

我正在尝试通过检查我的代码来检索我的代码提交到数据库的查询django.db.connection.queries.但是出于某种原因,在记录了所有自动生成的设置查询之后,不再从我自己的代码中记录进一步的查询.以下测试用例演示了该行为.

from django.test import TestCase
from django.db import reset_queries, connection
from django.contrib.auth.models import User
from django.conf import settings

class Test1(TestCase):
    def setUp(self):
        settings.DEBUG = True

    def test1(self):
        self.assert_(settings.DEBUG, 'DEBUG is False')
        reset_queries() #clears out all the setup queries
        User.objects.all()
        self.assert_(connection.queries, 'No queries')
Run Code Online (Sandbox Code Playgroud)

以下是运行它的结果:

Traceback (most recent call last):
  File "/Users/jacob/foo/bar_project/baz_application/tests.py", line 246, in test1
    self.assert_(connection.queries)
AssertionError: No queries
Run Code Online (Sandbox Code Playgroud)

有人能够对此有所了解吗?谢谢.

sql testing django

8
推荐指数
3
解决办法
1751
查看次数

Python属性是否已损坏?

怎么可能是这个测试用例

import unittest

class PropTest(unittest.TestCase):
    def test(self):
        class C():
            val = 'initial val'

            def get_p(self):
                return self.val

            def set_p(self, prop):
                if prop == 'legal val':
                    self.val = prop

            prop=property(fget=get_p, fset=set_p)

        c=C()
        self.assertEqual('initial val', c.prop)

        c.prop='legal val'
        self.assertEqual('legal val', c.prop)

        c.prop='illegal val'
        self.assertNotEqual('illegal val', c.prop)
Run Code Online (Sandbox Code Playgroud)

失败如下?

Failure
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 279, in run
    testMethod()
  File "/Users/jacob/aau/admissions_proj/admissions/plain_old_unit_tests.py", line 24, in test
    self.assertNotEqual('illegal val', c.prop)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 358, in failIfEqual
    (msg or '%r == %r' % (first, …
Run Code Online (Sandbox Code Playgroud)

python properties

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

如何使用devise创建users_controller.rb?

我以前是通过运行来gem: devise创建的,我用devise来通过运行来创建视图的。现在我想创建. 我怎样才能做到这一点?models/user.rbrails g devise Userrails g devise:viewscontrollers/users_controller.rb

rails g controller users
Run Code Online (Sandbox Code Playgroud)

它是否正确?该用户是否与 联系devise User?我查看了另一个应用程序,并class UsersController < ApplicationController在那里工作。

我是新的。谢谢回答。

ruby ruby-on-rails devise

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

标签 统计

devise ×1

django ×1

mongodb ×1

pagination ×1

properties ×1

python ×1

ruby ×1

ruby-on-rails ×1

sql ×1

testing ×1