默认情况下,mongo_dart让mongodb服务器为插入的对象创建id,并且不提供获取这些id的方法.
为了方便您的场景,您可以在插入之前预先创建对象ID.我添加了新的测试来证明这一点.请注意,_id字段必须是地图中的第一个字段 - 这是mongodb所必需的.
testInsertWithObjectId(){
Db db = new Db('${DefaultUri}mongo_dart-test');
DbCollection coll;
var id;
var objectToSave;
db.open().chain(expectAsync1((c){
coll = db.collection('testInsertWithObjectId');
coll.remove();
objectToSave = {"_id": new ObjectId(),"name":"a", "value": 10};
id = objectToSave["_id"];
coll.insert(objectToSave);
return coll.findOne(where.eq("name","a"));
})).then(expectAsync1((v1){
expect(v1["_id"],id);
expect(v1["value"],10);
db.close();
}));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
867 次 |
最近记录: |