我在node.js中使用Mongoose来查询mongoDB。我想检索一个数组的所有元素,它们恰好出现在任何特定的数组元素之前。元素的位置不是先验的,否则我会使用$ slice。
E.g
My database document is like this
"user_id": "sud", "coupons": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
There are thousands of documents in my database.
var last_element = 7;
Now my query is
// HERE I WANT TO FECTH [1, 2, 3, 4, 5, 6]
// how to write this in one single query
model.findOne({"user_id": "sud"})
答案 0 :(得分:0)
afaik - mongodb查询没有办法询问元素位置,这是你问题中的一个关键。
由于结果集只有一个文档 - 在这种情况下,建议使用应用程序进程并完全有效。
所以使用w3school示例就像这样:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
fruits = fruits.slice(0, a+1);