Я нашел ответ на этот вопрос для C # и Perl, но не в родном интерфейсе. Я думал, что это будет работать:
db.theColl.find( { _id: ObjectId("4ecbe7f9e8c1c9092c000027") } )
Запрос не дал результатов. Я нашел 4ecbe7f9e8c1c9092c000027, выполнив db.theColl.find()
и взяв ObjectId. В этой коллекции несколько тысяч предметов.
Я прочитал все страницы, которые мог найти на сайте mongodb.org, и не нашел его. Это просто странная вещь? Мне кажется, это нормально.
Если вы используете Node.js:
Изменить: исправлено новый идентификатор объекта (идентификатор), а не новый идентификатор объекта (идентификатор)
источник
import { ObjectId } from "mongodb";
работает для любителя JS.Еще проще, особенно с завершением табуляции:
Редактировать: также работает с
findOne
командой для более красивого вывода.источник
db.test.find({'_id': ObjectId('4ecc05e55dd98a436ddcc47c')})
db.test.findOneAndDelete(ObjectId('57eujhs76e7hs877e868'))
команде приведет к удалению документа, даже если ObjectId не совпадает с указанным идентификатором. Вы должны точно указать, как этоdb.test.find({'_id': ObjectId('4ecc05e55dd98a436ddcc47c')})
find()
, а не оfindOneAndDelete()
.Вы пропустили, чтобы вставить двойные кавычки. Точный запрос
источник
Если вы работаете над оболочкой Монго, пожалуйста, обратитесь к этому: Ответ от Тайлер Брок
Я написал ответ, если вы используете mongodb с помощью node.js
Вам не нужно конвертировать идентификатор в
ObjectId
. Просто используйте:этот метод сбора автоматически преобразует id в ObjectId.
С другой стороны :
db.collection.findOne({"_id":'4ecbe7f9e8c1c9092c000027'})
не работает, как ожидалось. Вы вручную конвертировали идентификатор вObjectId
.Это можно сделать так:
источник
У меня просто была эта проблема, и я делал то, что было задокументировано, но она все еще не работала.
Посмотрите на ваше сообщение об ошибке и убедитесь, что у вас нет скопированных специальных символов. Я получаю сообщение об ошибке
Когда я перешел к символу 43, это был только начало моего идентификатора объекта, после открытых кавычек, именно так, как я его вставил. Я поместил свой курсор туда и нажал клавишу Backspace, но ничего не произошло, когда он должен был удалить открытую кавычку. Я снова нажал клавишу Backspace, и она удалила открытую кавычку, затем я вернула кавычку обратно и выполнила запрос, и он работал, несмотря на то, что выглядел точно так же.
Я занимался разработкой в WebMatrix и скопировал идентификатор объекта из консоли. Всякий раз, когда вы копируете с консоли в WebMatrix, вы, вероятно, обнаружите некоторые невидимые символы, которые приведут к ошибкам.
источник
После того, как вы открыли Mongo CLI, подключились и авторизовались на нужной базе данных.
источник
В функциях MongoDB Stitch это можно сделать с помощью BSON, как показано ниже:
Для этого используйте
ObjectId
помощник в пакете утилит BSON, как в следующем примере:источник
Я думаю, вам лучше написать что-то вроде этого:
источник
Чтобы использовать метод Objectid, вам не нужно его импортировать. Это уже на объекте mongodb.
источник
TypeError: db.ObjectId is not a function
ObjectId("SOMETHING")
Если вы используете Node.js:
В этом req.user формат ObjectId.
источник
Просто сделайте:
источник
Mongo Shell
версии 3.2.7.