gpt4 book ai didi

meteor 0.5.7 : how to handle/use Meteor. Collection.ObjectID?

转载 作者:行者123 更新时间:2023-12-04 17:51:42 36 4
gpt4 key购买 nike

我昨天更新了我的 meteor 并尝试使用新的 Meteor.Collection.ObjectID .
但因为没有成功。首先,我以这种方式更新了我的收藏:
myCollection = new Meteor.Collection('mycollection', {idGeneration: 'MONGO'}现在,普通的新 Blade 具有 _id喜欢 Wi2RmR6CSapkmmdfn ……(?)

然后我有一个包含数组的集合。我喜欢为这个数组中的每个对象都有一个唯一的 id。所以我$push具有类似 id: new Meteor.Collection.ObjectID() 字段的对象进入我的数组。数据库中的结果是这样的:ObjectId("5b5fc278305d406cc6c33756") . (这似乎很正常。)

但稍后我想更新我推送的对象,如果 id等于一个 id,我之前将其作为数据属性存储在 html 标签中。
var equals = EJSON.equals(dbId, htmlId); (每次都会导致 false 。所以我将值 dbIdhtmlIdconsole.log(typeof dbId, dbId); 记录到控制台中)

这两个变量的值如下:
object { _str: 'a86ce44f9a46b99bca1be7a9' } (dbId)
string ObjectID("a86ce44f9a46b99bca1be7a9") (htmlId;这似乎是正确的,但为什么自定义类型是字符串?)

如何使用 Meteor.Collection.ObjectID正确的?

最佳答案

放置您的 htmlId 时在您的 html 中,您需要将其作为字符串而不是对象放入,请记住 _id现在是一个对象,handlebars 正在猜测和使用 toString()这就是为什么它显示为 ObjectID("...") .

所以如果你使用 {{_id}}在您的 html 中,您现在需要使用 {{_id.toHexString}}正确地提取它的字符串部分

当您使用 javascript 提取此 html 值时,您需要将其重新设置为 objectid:

js:

var valuefromhtml = "a86ce44f9a46b99bca1be7a9"; //Get with Jquery,DOM,etc

htmlId = new Meteor.Collection.ObjectID(valuefromhtml); //see: http://docs.meteor.com/#collection_object_id

EJSON.equals(htmlId, dbId); //Should be true this time

关于 meteor 0.5.7 : how to handle/use Meteor. Collection.ObjectID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041128/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com