只是为了确保我理解正确,您是否希望使用新的“日期”字段更新集合中的每个文档,或者您只是希望在插入新文档时将当前日期添加到新文档中?
给定一个集合(为简洁起见),如下所示:
> db.students.find()
{ "_id" : 1, "name" : "Joe" }
{ "_id" : 2, "name" : "Jane" }
{ "_id" : 3, "name" : "Sam" }
>
可以在单个更新语句中将日期添加到集合中的每个文档,如下所示:
> db.students.update({}, {$set:{"Date": new Date()}}, false, true)
> db.students.find()
{ "Date" : ISODate("2012-04-10T15:06:34.608Z"), "_id" : 1, "name" : "Joe" }
{ "Date" : ISODate("2012-04-10T15:06:34.608Z"), "_id" : 2, "name" : "Jane" }
{ "Date" : ISODate("2012-04-10T15:06:34.608Z"), "_id" : 3, "name" : "Sam" }
>
传递给更新函数的 false 和 true 值表示 upsert=false 和 multi=true。更多信息可以在 Mongo 文档的 update() 函数中找到:
http ://www.mongodb.org/display/DOCS/Updating#Updating-update%28%29
要在将新文档添加到集合时将新的 Date 对象添加到新文档,只需在保存文档时创建一个新的 Date 对象:
> db.students.save({ "_id" : 4, "name" : "Chris", "Date":new Date()})
> db.students.find()
{ "Date" : ISODate("2012-04-10T15:06:34.608Z"), "_id" : 1, "name" : "Joe" }
{ "Date" : ISODate("2012-04-10T15:06:34.608Z"), "_id" : 2, "name" : "Jane" }
{ "Date" : ISODate("2012-04-10T15:06:34.608Z"), "_id" : 3, "name" : "Sam" }
{ "_id" : 4, "name" : "Chris", "Date" : ISODate("2012-04-10T15:12:03.161Z") }
>
当在 Java Script 中创建 Date 对象时,没有将任何值传递给构造函数,它将创建一个具有当前 UTC(通用或 GMT)时间的日期对象。关于 Java Script Date 对象的更多信息可以在这里找到:
http: //www.w3schools.com/jsref/jsref_obj_date.asp
不同的语言处理日期的方式不同,因此根据您的应用程序编写的语言,您必须查看该语言的文档以了解它如何实现日期对象。
希望这会让你指出正确的方向。