Ear*_*rlz 28 c# mongodb mongodb-.net-driver
说我有产品清单.当我添加新产品时,我使用类似的东西保存它
var doc=products.Insert<ProductPDO>(p);
Run Code Online (Sandbox Code Playgroud)
问题是我想在完成此操作后将用户重定向到包含该产品的页面.所以我需要重定向说/products/<ObjectID>
但是,我认为没有办法在没有手动查询数据库的情况下正确获取ObjectID并查找具有所有相同字段等的文档.
有没有更简单的方法?(doc在这种情况下,由于某种原因返回null)
Sco*_*dez 45
您可以检查插入文档的id字段.它应该填写.
提问者编辑:
为了清楚起见,为了在你自己的类中创建一个id字段,你只需使用:
[BsonId]
public ObjectId Id { get; set; }
Run Code Online (Sandbox Code Playgroud)
Sha*_*ssy 14
将对象插入mongodb时,mongo将使用内部ID更新对象.
因此,如果
data = {
title: "Howdy"
}
Run Code Online (Sandbox Code Playgroud)
然后当我们将数据对象插入db时
db.collection('collectionName', function(err, collection) {
collection.insert(data);
console.log(data._id); // <- The mongodb id is now set on the item
});
Run Code Online (Sandbox Code Playgroud)
正如上面的评论,在你的模型中添加 fild ID
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string id { get; set; }
Run Code Online (Sandbox Code Playgroud)
使用:
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
Run Code Online (Sandbox Code Playgroud)
然后当你插入对象时,mongo 将文档的 ID 返回到模型的 fild ID 中。
| 归档时间: |
|
| 查看次数: |
23003 次 |
| 最近记录: |