제외할 투영을 사용하여 Node.js MongoDB 찾기 _id가 여전히 반환합니다.
_id를 제외하는 투영법을 사용하여 필터링하기 위해 여기에 있는 예제를 따르려고 합니다._id는 여전히 다음을 반환합니다.
코드
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/db1";
MongoClient.connect(url, function (err, db) {
if (err) throw err;
var dbase = db.db("db1"); //here
dbase.collection("customers").find(
{},
{
_id: 0
}
).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
결과는 여전히 다음과 같이 반환됩니다.
[ { id : 5a2bb2d6ee48575cb54c4365, 이름 : 'John', 주소 : 'Highway 71', {id : 5a2bb2d6ee485cb54c436d, 이름 : 'Susan', 주소 : 'Oneway 98', ... {id : 5a2bbbbb2d675c4371, 이름 : Chuck', 메인로드명 : 298bi2bi2bi2d2, 주소 : 299, 주소 : 298c2bi2bi2bi2bi
이론적으로 _id는 반환되는 항목의 일부가 되어서는 안 됩니다.여기서 뭐가 문제야?
사용할 필드를 제한하려면fields
옵션(새 업데이트에 대해 알 수 없음):
dbase.collection("customers").find({}, {
fields: { _id: 0 }
}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
업데이트:
버전 > 3의 경우 사용해야 합니다.projection
대신 옵션:
dbase.collection("customers").find({}, {
projection:{ _id: 0 }
}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
MongoDB API 버전 3에서는fields
옵션이 더 이상 사용되지 않습니다.이제 사용해야 합니다.projection
대신 옵션을 선택합니다.
예:
dbase.collection('customers').find({}, {
projection: {
_id: 0
}
}).toArray(function (err, result) {
if (err) {
throw err
}
console.log(result)
db.close()
})
지원되는 옵션의 전체 목록은 http://mongodb.github.io/node-mongodb-native/3.0/api/Collection.html#find 에서 확인할 수 있습니다.
버전 3.4부터는 find() 외부에 .project()를 추가하는 옵션이 있습니다.
ES8 비동기를 사용하여 잠시 기다려 주십시오.
예:
async function connectDB(url) {
try {
const db = await MongoClient.connect(url);
const dbase = db.db("db1"); //here
const results = await dbase.collection("customers").find().project({_id:0}).toArray();
console.log(result);
db.close();
}
catch(err) {
throw err;
}
}
언급URL : https://stackoverflow.com/questions/47732061/node-js-mongodb-find-with-projection-to-exclude-id-still-returns-it
'programing' 카테고리의 다른 글
깃이 있는 커밋의 일부 되돌리기 (0) | 2023.07.15 |
---|---|
집계 쿼리에 대한 MongoDB의 성능 (0) | 2023.07.15 |
파이썬에서 휠을 생성할 수 없는 이유는 무엇입니까? (0) | 2023.07.15 |
MySQL 여러 테이블에서 선택, 일치하지 않는 모든 열 및 행 유지 (0) | 2023.07.15 |
새 배열이 DOM에서 렌더링되지 않습니다. (0) | 2023.07.15 |