2013-07-27 10 views

Odpowiedz

181

Tak, można znaleźć konstruktora ObjectId na require('mongoose').Types. Oto przykład:

var mongoose = require('mongoose'); 
var id = mongoose.Types.ObjectId(); 

id to nowo wygenerowany ObjectId.

Możesz przeczytać więcej o obiekcie Types pod adresem Mongoose#Types documentation.

+1

jak można mieć pewność, że jest to naprawdę wyjątkowy? czy mangusta wcześniej sprawdzała? – R01010010

+0

@ R01010010 Sprawdź, w jaki sposób są generowane (Google). Nie ma czeku, ale jest probabilistyczny. –

+4

Jeśli wygenerujesz 16777216 w ciągu jednej sekundy na tym samym komputerze, prawdopodobnie otrzymasz duplikat. :) – joeytwiddle

19

Można utworzyć nowy MongoDB ObjectId jak to przy użyciu mangusta:

var mongoose = require('mongoose'); 
var newId = new mongoose.mongo.ObjectId('56cb91bdc3464f14678934ca'); 
// or leave the id string blank to generate an id with a new hex identifier 
var newId2 = new mongoose.mongo.ObjectId(); 
Powiązane problemy