3

作成されたレコード時間フィールドの前と後のポストを取得するなど

記事を取得するには、次のステートメントを使用してみてください

# Created is the time of the creation of the current article
# Before a
prev_post = db.Post.find ({'created': {'$ lt': created}}, sort = [('created', -1)], limit = 1)
# After a
next_post = db.Post.find ({'created': {'$ gt': created}}, sort = [('created', 1)], limit = 1)

結果が不連続になり、いくつかのレコードがスキップされることがあります。理由はわかりませんが、FIND を誤解しているのかもしれません。助けてください。

4

2 に答える 2

1

確かに奇妙な動作に見えるかもしれませんが、配列(レコードが挿入順序で保持されている)をクエリしない限り、MongoDBは保存されたレコードの順序を保証しません。私はMongoDBが何をするかを信じています-それはあなたのクエリに一致する最初のドキュメントに到達し、それを返します。結論:ロジックにネイバーレコードが必要な場合は、配列を使用します。

于 2012-08-22T07:47:47.743 に答える
0

私はそれがあなたの作成したと思います。時間タイプに問題があります。記録時間が同じである場合、システムはどちらを選択するかわかりません。_idを使用て、試してみてください。

于 2012-08-22T08:08:39.293 に答える