小编Xeo*_*eos的帖子

使用node.js从MongoDB中选择最后N条记录

注意:我已经看到了另一个问题并尝试了答案而没有运气.

我在MongoDB中有一个集合:

{ _id: 1, category_id: 1, time_added: 1234567890, name: "abc" }
Run Code Online (Sandbox Code Playgroud)

我需要找到category_id等于10的最后10个条目.声音简单?

collection.find({ 'category_id': 10 }, {}, { _id: -1, limit : 10}, function (e, d) {});
Run Code Online (Sandbox Code Playgroud)

但运行这个给我 10条记录而不是最后10条.看起来像驱动程序优先"限制"而不是"排序"...我也尝试$natural和排序time_added.每当我从命令行运行相同的查询时 - 我得到了我需要的东西.这是我输入命令行的内容:

collection.find({ 'category_id': 10 }).sort({_id: -1}).limit(10)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?是否有另一种方法可以使用node.js执行此操作?

mongodb node.js

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

改变MySQL中TRIGGER中的LAST_INSERT_ID()

我有一个BEFORE INSERT TRIGGER用于计算AUTO_INCREMENT列(id_2)的值.

id_1 | id_2 | data
1    | 1    | 'a'
1    | 2    | 'b'
1    | 3    | 'c'
2    | 1    | 'a'
2    | 2    | 'b'
2    | 3    | 'c'
2    | 4    | 'a'
3    | 1    | 'b'
3    | 2    | 'c'
Run Code Online (Sandbox Code Playgroud)

我有PRIMARY(id_1,id_2),我正在使用InnoDB.以前,该表使用的是MyISAM,我没有遇到任何问题:id_2设置为AUTO_INCREMENT,所以每个新条目id_1都会id_2自行生成新的.现在,在切换到InnoDB后,我有这个触发器做同样的事情:

SET @id = NULL;
SELECT COALESCE(MAX(id_2) + 1, 1) INTO @id FROM …
Run Code Online (Sandbox Code Playgroud)

mysql triggers innodb auto-increment last-insert-id

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

C - scanf() 之后的 printf() 直到下一个 scanf() 才打印

I am trying to read first character in each line of the input and then based on the first character, determine which format the rest of the line is in. Then I use scanf() to read the values according to the command received.

char name[50];
int rating, ref;

int main() {
    int command;
    while (command = getchar()) {
        if (command == EOF || command == '\0') break;
        if (!processCommand(command)) break;
        printf("done processing, waiting for new command\n");
    }
}

char processCommand(int …
Run Code Online (Sandbox Code Playgroud)

c

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

使用GObject方法从Hashtable获取NullPointerException

所以我尝试创建一个小型Zombie-Shooter游戏.我使用ACM包中的GTurtle类(jtf.acm.org).我有一个GTurtle的额外线程,这是一个GObject.我有一个带有while循环的run方法,即检查boolean是否为true,如果是,则执行this.forward()方法.

我尝试运行游戏并按下按钮,如果它是W或D,GTurtle对象中的布尔值会被更改并且Thread会执行操作.然后我得到这个例外:

java.lang.NullPointerException
         at java.util.Hashtable.put(Hashtable.java:394)
         at acm.util.JTFTools.pause(JTFTools.java)
         at acm.util.Animator.delay(Animator.java)
         at acm.graphics.GTurtle.setLocation(GTurtle.java)
         at acm.graphics.GObject.move(GObject.java)
         at acm.graphics.GTurtle.move(GTurtle.java)
         at acm.graphics.GObject.movePolar(GObject.java)
         at acm.graphics.GTurtle.forward(GTurtle.java)
         at anotherTryJava.Player.run(Player.java:20)
         at java.lang.Thread.run(Thread.java:662)
Run Code Online (Sandbox Code Playgroud)

java netbeans hashtable

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

php">"没有问号的行为就像"?>"

我有一个页面,页脚中有一个脚本.

<?php
    require_once('../autoloader.php');
    $feed = new SimplePie();
    $feed->set_feed_url('http://simplepie.org/blog/feed/');
    ...
?>
Run Code Online (Sandbox Code Playgroud)

然后,当我将其上传到服务器时,我显示:

set_feed_url('http://simplepie.org/blog/feed/'); $feed->init(); $feed->handle_content_type(); print 'test'; ?> 
Run Code Online (Sandbox Code Playgroud)

我也安装了一个phpBB论坛,它就像魅力一样.所以>在我的代码中像?>一样工作.我在该页面上没有更多的PHP,并且评论该行没有任何帮助.我也尝试添加echo和print,但它没有用.所以PHP版本5.2.17正在运行......我不知道问题是什么以及如何解决它...请帮帮我.

PS我知道这件事会解决它的一半:

<?php
    require_once('../autoloader.php');
    $feed = new SimplePie();

    $function = set_feed_url('http://simplepie.org/blog/feed/');
    call_user_func(array($feed), $function);

    $function = init();
    call_user_func(array($feed), $function);

    $function = handle_content_type();
    call_user_func(array($feed), $function);
?>
Run Code Online (Sandbox Code Playgroud)

html php

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

属性缺少工具的Android名称空间前缀:context

Eclipse编辑器为以下XML提供了"Attribute is missing the Android namespace prefix"错误:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context=".MainMenuActivity" >
Run Code Online (Sandbox Code Playgroud)

xml eclipse android namespaces

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

Android模拟器在发布时崩溃

各位大家好:)我决定尝试使用NetBeans安装Android SDK.我安装了SDK和软件包,创建了ADV,为NetBeans安装了插件.我写了一个小应用程序,然后启动它.起初它没有出现.我再次启动,我的防病毒软件要求网络访问,我亲切地说.然后设备显示黑屏,我关闭了窗口,而我的NetBeans窗口根本没有更新(就像模拟器仍然在运行).接下来的运行只是在任务管理器中弹出新的进程并立即离开那里.直接从SDK管理器运行模拟器刚刚返回emulator-arm.exe无响应窗口.我的详细运行给了这个:

emulator: found SDK root at D:\Programming\Android SDK
emulator: Android virtual device file at: C:\Users\Teodor\.android/avd/AVD16.ini
emulator: virtual device content at C:\Users\Teodor\.android\avd\AVD16.avd
emulator: virtual device config file: C:\Users\Teodor\.android\avd\AVD16.avd/config.ini
emulator: using core hw config path: C:\Users\Teodor\.android\avd\AVD16.avd/hardware-qemu.ini
emulator: Found AVD target API level: 16
emulator: found skin 'WVGA800' in directory: D:\Programming\Android SDK/platforms\android-16\skins
emulator: autoconfig: -skin WVGA800
emulator: autoconfig: -skindir D:\Programming\Android SDK/platforms\android-16\skins
emulator: found skin-specific hardware.ini: D:\Programming\Android SDK/platforms\android-16\skins/WVGA800/hardware.ini
emulator: keyset loaded from: C:\Users\Teodor\.android\default.keyset
emulator: trying to load skin file 'D:\Programming\Android SDK/platforms\android-16\skins/WVGA800/layout'
emulator: skin …
Run Code Online (Sandbox Code Playgroud)

android android-emulator

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