Maison > Questions et réponses > le corps du texte
请问下,我有个用户---》多个地址
我目前把地址用内嵌文档放入用户collection,可是如果要修改地址,内嵌文档没有id怎么办? 内嵌文档怎么实现自增id?
过去多啦不再A梦2017-04-27 09:04:49
Il est recommandé d'utiliser uuid. Pour implémenter l'ID à incrémentation automatique, vous devez maintenir et écrire manuellement une fonction d'incrémentation automatique dans votre propre programme. Tant qu'elle est unique, elle ne le fait pas. doit être auto-incrémenté
迷茫2017-04-27 09:04:49
Il existe deux méthodes pour implémenter un ID auto-croissant dans mongodb :
collecte de comptoir
db.counters.insert(
{
_id: "userid",
seq: 0
}
)
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true
}
);
return ret.seq;
}
db.users.insert(
{
_id: getNextSequence("userid"),
name: "Sarah C."
}
)
db.users.insert(
{
_id: getNextSequence("userid"),
name: "Bob D."
}
)
Utilisez findAndModify()
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true,
upsert: true
}
);
return ret.seq;
}