我手动为我的馆藏中的每个项目设置uid
...我想知道我可以使用uid
填充吗?
我不想使用'_id',因为在我的数据库中有很多收藏并且应该改变很多东西......这样的事情:
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var PersonSchema = new Schema({
name : String
, age : Number
, stories : [{ type: String, ref: 'Story' }]
});
var StorySchema = new Schema({
_creator : { type: String, ref: 'Person' }
, title : String
, fans : [{ type: String, ref: 'Person' }]
});
var Story = mongoose.model('Story', StorySchema);
var Person = mongoose.model('Person', PersonSchema);
答案 0 :(得分:0)
不,没有' _id'不可能有mongodb文件。 ,如果你想避免重复id,你可以把uid放入' _id'在保存文档之前。
如果你单独留下uid
,那就是' _id'将自动填充为ObjectId。
答案 1 :(得分:0)
下面是一个清晰的示例(https://mongoosejs.com/docs/populate.html):
Story.
find(...).
populate({
path: 'fans',
select: 'name -_id' // <---------------'-_id' exclude _id field.
}).
exec();