的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 = []
答案 0 :(得分:0)
您是单独使用Mongo查询还是使用应用程序代码尝试执行此操作? Mongo查询单独不能做这个AFAIK,你找不到一个文件取决于它与其他文件的相对位置。您需要将应用程序代码与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
}
);