是否有可能在Meteor中保留插入順序或設置可靠的時間戳,因爲如果沒有指定排序,MongoDB不保證以插入順序返回項目,文檔的_id是隨機生成的,並且在插入時手動設置時間戳取決於客戶的時鐘?如何在Meteor中使用時間戳和保存插入順序?
4
A
回答
7
我建議一種方法。
Meteor.methods({
addItem: function (doc) {
doc.when = new Date;
return Items.insert(doc);
}
});
雖然客戶端將運行這個地方,並設置when
到自己的當前時間,服務器的時間戳優先和傳播到所有訂閱的客戶端,包括原來的客戶端。您可以在doc.when
上排序。
我們可能會添加掛鉤來自動設置時間戳,作爲文檔驗證和權限的一部分。
1
如果你願意使用像這些集合掛鉤(https://gist.github.com/matb33/5258260),連同這個奇特Date.unow
功能(可以放心地排序上,即使很多文件插入相同的時間戳):
if (!Date.unow) {
(function() {
var uniq = 0;
Date.unow = function() {
uniq++;
return Date.now() + (uniq % 5000);
};
})();
}
if (Meteor.isServer) {
// NOTE: this isn't vanilla Meteor, and sometime in the future there may be
// a better way of doing this, but at the time of writing this is it:
Items.before("insert", function (userId, doc) {
doc.created = Date.unow();
});
}
相關問題
- 1. 如何在Oracle中插入時間戳?
- 2. 如何使用Matlab實時保存avi和時間戳?
- 3. 如何在評論欄中保存時間戳和用戶
- 4. 如何使用Node-Oracle驅動程序插入時間戳?
- 5. 如何在Python中使用日期和時間戳記錄和保存文件
- 6. 如何在使用dojox.charting.Chart2D時插入時間戳數據
- 7. 用mysqli保存時間戳
- 8. 插入時間戳在python
- 9. 隨着時間戳增加的SQL插入順序列表
- 10. KnexJS:如何使用當前時間戳插入/更新時間戳字段?
- 11. 如何保證Oracle數據庫中的主鍵和時間戳順序
- 12. Oracle中的時間戳排序順序
- 13. 使用時間戳保存文件
- 14. 如何使用java將時間戳插入到Ms-Access中?
- 15. 如何保存UTC時間戳?
- 16. Infinispan緩存保留插入順序
- 17. laravel 5.4,如何插入時間戳(mysql)
- 18. 如何使插入和更新蒙哥記錄時間戳差?
- 19. JPA @ElementCollection:如何保持插入順序
- 20. 在數據庫中保存時間戳
- 21. 在mySQL中保存當前時間戳
- 22. 在SQL Server中插入時間戳值
- 23. 在MySQL中插入時間戳
- 24. 在bash中插入時間戳
- 25. 在SQLite中插入時間戳
- 26. 在php中插入時間戳
- 27. 在Excel中插入時間戳
- 28. 插入日期和時間戳,vbs
- 29. Python Cassandra cql:插入時間戳和blob
- 30. MySQL - 保存JSON時間戳
太棒了,那有用,謝謝! –
請注意,Date對象的存儲現在可以工作,因此除非您真的想以毫秒爲單位存儲日期,否則您不一定需要調用getTime。 –
挺對的,謝謝!更新。 – debergalis