Angularjs 插入meteor/angular2时如何获取id
我正在使用meteor/angular进行一个项目,我想在插入一个元素以使用它时获取id 我的代码==>Angularjs 插入meteor/angular2时如何获取id,angularjs,meteor,Angularjs,Meteor,我正在使用meteor/angular进行一个项目,我想在插入一个元素以使用它时获取id 我的代码==> collection.insert({ name: name, birthDay: birthDay , birthPlace:birthPlace, nationalities:nationalities, fields : fields }); 我试过了,但没
collection.insert({
name: name,
birthDay: birthDay ,
birthPlace:birthPlace,
nationalities:nationalities,
fields : fields
});
我试过了,但没用
const col = collection.insert({
name: name,
birthDay: birthDay ,
birthPlace:birthPlace,
nationalities:nationalities,
fields : fields
});
console.log(col);
Meteor中的数据库操作和方法调用默认情况下在服务器上是同步的,在客户端是异步的。也就是说
collection.insert({ ... });
将仅在服务器上调用时返回id。如果要在客户端中插入id,必须使用回调,因为它是异步的:
collection.insert({ ... }, function (err, insertedId) {
if (err) {
throw err; // handle error your preferred way
}
// do something with insertedId
console.log(insertedId);
});
我猜您的
集合
变量不是标准的Meteor变量,而是Meteor rxjs',它insert()
方法返回一个可观察的,而不是新插入的文档ID
也就是说,你做了如下事情:
const meteorxjscollection=new MongoObservable.Collection('collectionName');
在这种情况下,您有两个简单的解决方案:
- 访问Meteor的Mongo收藏Meteor rxjs包装:
- 订阅meteor rxjs方法返回的Observable,以获得ID,方式与使用meteor的
插入中的回调类似:
您应该在尝试时在col变量中获取ID。你能提供更多的代码吗?你的
集合
变量是Meteor rxjs'还是Meteor的?我正在使用MongoObservable.collection可能是