Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs-如何在mongo中搜索最近的一些文档_Node.js_Mongodb - Fatal编程技术网

Node.js nodejs-如何在mongo中搜索最近的一些文档

Node.js nodejs-如何在mongo中搜索最近的一些文档,node.js,mongodb,Node.js,Mongodb,Nodejs dbo.collection("abc") .find({"name": "Felicity"}) .sort({_id:-1}) .limit() .exec( function(err, results){ // my code } ); 收集中的数据 cansOne = [ { "_id": ObjectId("5ace23558980..."),

Nodejs

dbo.collection("abc")
    .find({"name": "Felicity"})
    .sort({_id:-1})
    .limit()
    .exec(
        function(err, results){

            // my code

        }
    );
收集中的数据

cansOne = [
   {
        "_id": ObjectId("5ace23558980..."),
        "name": "Khalichi",
        "gender": "F",
        "type":"Admin"
    },
    .
    .
    .

    {
        "_id": ObjectId("5ace23558980..."),
        "name": "Thore",
        "gender": "M",
        "type":""
    },
    {
        "_id": ObjectId("5ace23558980..."),
        "name": "John Snow",
        "gender": "M",
        "type":"Admin"
    },
    {
        "_id": ObjectId("5ace23558980..."),
        "name": "Felicity",
        "gender": "F",
        "type":"User"
    }
]

cansTwo = [
   {
        "_id": ObjectId("5ace23558980..."),
        "name": "Khalichi",
        "gender": "F",
        "type":"Admin"
    },
    .
    .
    .

    {
        "_id": ObjectId("5ace23558980..."),
        "name": "Thore",
        "gender": "M",
        "type":""
    },
    {
        "_id": ObjectId("5ace23558980..."),
        "name": "John Snow",
        "gender": "M",
        "type":"Admin"
    },
    {
        "_id": ObjectId("5ace23558980..."),
        "name": "Felicity",
        "gender": "F",
        "type":"User"
    }
    {
        "_id": ObjectId("5ace23558980..."),
        "name": "Batman",
        "gender": "M",a
        "type":""
    }
]
我正在收集这类数据。有两种情况:

1)
“type”:“
在收款结束时,表示它是收款的最后一份单据

2)
“type”:“
文档后,集合中有一些文档

我想搜索一个文档,但如果它位于
“type”:“
文档的最后一个索引之后,它将返回该文档,否则它将返回null。简而言之,我想在最后一个
“type”:“

有人能帮忙吗

提前谢谢

例如,我想搜索
“name”:“Felicity”

预期产出

caseOne = [
    {
        "_id": ObjectId("5ace23558980..."),
        "name": "Felicity",
        "gender": "F",
        "type":"User"
    }
]

caseTwo = []

您是单独使用Mongo查询还是使用应用程序代码来执行此操作?单靠Mongo查询无法做到这一点,因为您无法根据文档相对于其他文档的相对位置找到文档。您需要在Mongo查询中使用应用程序代码,例如:

dbo.collection("abc").find({
    $or: [{
        name: "Felicity"
    }, {
        type: ""
    }]
})
.sort({
    _id: -1
})
.limit()
.exec(
    function(err, results) {
        // results here contains documents having name: Falicity or type: ""
        // do your check here

    }
);

不是这样,Felicity出现了两次,但如果它出现在最后一个type=”“之后,我希望它出现,所以我不能使用或条件。如果您只编写mongo查询,它将非常有用。其他的事情我会考虑的。谢谢你的重播,先生。正如我所说的,单靠Mongo query是做不到的。使用上面的代码,您需要编写更多的代码来处理
结果
,以获得所需的HI Vipul;我能问一下你想收藏的顺序吗?因为如果您依赖于某个特定记录是否在另一个记录之后,这取决于您列出文档的顺序。