mongoose一个奇怪的问题?
发布于 13 年前 作者 zstar 8396 次预览 最后一次回复是 13 年前 来自
如题,我在用mongoose的时候,用了两个schema,如下: var Comments = new Schema({ projectName : String , comment : String , created_at : Date });
//定义user对象模型 var UserScheme = new Schema({ userId:ObjectId, username:String, password:String, userAccountId:ObjectId, userAccountSummary:{type:String,default:“1000”}, myProjectsList:[], myCommentsList:[Comments], myFundedProjectsList:[]
});
但是后来我在我的网站上注册登录后,数据库插进来一个奇怪的字段:__v:0
我插入一条数据后:显示如下结果:

我并没有插入__v从始至终,不知道大家遇到没
17 回复
默认会多插入一个_id 没发现会插入一个_v 你再检查一下,肯定是插了
检查过了,遵循上面的schema没有问题啊
检查过了,遵循上面的schema没有问题啊
sdaasdfasdf asdfasdf
哎,多看api啊,_id是默认配置上去的,即便你不写,也会有,如果你重新指定id,那么原有的_id也就没有了,会显示新的主键id。至于这个__v,你回想你写过哪些程序会有v这个符号,例如“nodejs -v”或者“npm -v”或者“java -version”,对了,v代表的就是版本,__v也是默认配置上去的,用来表示版本信息的,当然这个你也可以去掉,具体的查看api去。多看api,下次要是看见多了几个文档例如“system.indexes”或者“system.users”等千万不要惊讶。
哥们用心良苦啊 一早上就看到多个你回复的帖子 真是热心啊
@shinka 早安。呵呵,能回答就回答,不能回答就等答复学习
@a272121742 真该向你学习 可惜学艺不精很多都只有打酱油的份…
你能看见多插入了一个_v,为什么就没发现还多插入了一个_id呢?呵呵,这都是默认就会插入的
默认会插入id,谁应该都知道,但是插入这个_v是第一次碰到,弄了这么多天还是第一次碰到,
十分感谢,id我知道,我只是说_v,不是每一种插入都会有_v的,它不是默认的
这是 mongoose 给你加入的。
http://mongoosejs.com/docs/guide.html#versionKey
@zstar 直接把源发给你看吧
请仔细阅读
mongoose大家在windows能运行吗
@a272121742 3Q,当时在文档中没看到
3Q
@zstar 所以说看文档要仔细,很多问题都是文档上写过的