2016-06-24 11 views
0

node.jsにMongooseを使用してmongoDBを照会しています。私は特定の配列要素の直前に現れる配列のすべての要素を取得したいと思います。要素の位置は先験的に知られていません。そうでなければ$ sliceを使用していました。Mongodb特定の要素の前にある配列内の要素を取得する

例えば

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

? [this](http://stackoverflow.com/questions/37932924/how-to-solve-mongodb-related-issue-efficiently)を参照して、あなたのqestionにバージョン情報を追加してください。ありがとうございました。 – profesor79

+0

私の質問を編集したrelook @ profesor79を持ってください。あなたの返信を待って:) –

答えて

0

私の知る限り - MongoDBのクエリは、あなたの質問で鍵となる要素の位置、のために依頼する方法がありません。

結果セットは1つのドキュメントにすぎません。この場合、アプリケーション側プロセスが推奨され、完全に有効です。

ので、それはこのようになりますw3school例を使用して:あなたのクエリによって返されるドキュメント数

var fruits = ["Banana", "Orange", "Apple", "Mango"]; 
var a = fruits.indexOf("Apple"); 
fruits = fruits.slice(0, a+1); 
+0

私のデータベースには多くの文書があります –

+0

あなたのコードにfindOne()があります – profesor79

+0

user_idがユニークであるため、 –

関連する問題